SD/MMC (ricoh) reader on Thinkpad T61

Lars Engels lme at FreeBSD.org
Sat May 17 10:24:01 UTC 2008


On Sat, May 17, 2008 at 02:31:29AM +0900, Norikatsu Shigemura wrote:
> On Fri, 16 May 2008 16:58:22 +0200
> Torfinn Ingolfsen <torfinn.ingolfsen at broadpark.no> wrote:
> > Does anyone know if the driver has been updated for 7.0-stable somehwere?
> 
> 	The newest one is here:
> 	http://www.agt.ne.jp/~a-gota/programs/driver/FBSD6.2R/memcard/sdmmc-20080208.tar.gz
> 
> 	And, takawata@ fixed its panic issue (lock issue):
> 	http://www.init-main.com/sdmmc.patch
> 	NOTE: This patch provides for old version.  So ignore .rej files.
> 	.rej files have many already fixed codes.
> 
> 	I'm using on 8-current, and sdmmc(4) quite good works.


With yesterday's sources and having applied takawata's patch (with one
.rej as you predicted) I still get this panic:

Sleeping on "sdshcbus_event_card_insertion" with the following
non-sleepable locks held:
exclusive sleep mutex sdshc0 r = 0 (0xc4214588) locked @
/usr/home/lars/local-patches/sdmmc/modules/sdmmc/../../dev/sdmmc/sdshc.c:450
KDB: stack backtrace:
db_trace_self_wrapper(c08c147c,c3e92c10,c061dcb7,c08c1914,c3e92c24,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c08c1914,c3e92c24,4,1,0,...) at kdb_backtrace+0x29
witness_warn(5,0,c08bf06c,c0c47740,c1472978,...) at witness_warn+0x1d7
_sleep(c4203100,0,68,c0c47740,3e8,...) at _sleep+0x5f
sdshcbus_intr(c4214480,c41891f4,c0c48b88,1c2,c4214588,...) at
sdshcbus_intr+0x2fe
sdshc_intr(c4214580,0,c08bac35,4d4,c40eb06c,...) at sdshc_intr+0xe6
ithread_loop(c41d5000,c3e92d38,c08ba9a4,30d,c40ab7c8,...) at
ithread_loop+0x1b5
fork_exit(c05c58c0,c41d5000,c3e92d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8


the .rej file reads:
***************
*** 42,47 ****
  #include <sys/systm.h>
  #include <sys/conf.h>
  #include <sys/malloc.h>

  #include <dev/pci/pcireg.h>
  #include <dev/pci/pcivar.h>
--- 42,50 ----
  #include <sys/systm.h>
  #include <sys/conf.h>
  #include <sys/malloc.h>
+ #include <machine/bus.h>
+ #include <sys/bus.h>
+

  #include <dev/pci/pcireg.h>
  #include <dev/pci/pcivar.h>
***************
*** 343,349 ****
       */
      LOG(0x10, (dev, "Setup Intr\n"));
      error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET|INTR_MPSAFE ,
-                          sdshc_intr, sc, &sc->ih);
      if (error != 0) {
        MSG((dev, "could not set up interrupt\n"));
        goto cleanup;
--- 346,352 ----
       */
      LOG(0x10, (dev, "Setup Intr\n"));
      error = bus_setup_intr(dev, sc->irq, INTR_TYPE_NET|INTR_MPSAFE ,
+                          NULL, sdshc_intr, sc, &sc->ih);
      if (error != 0) {
        MSG((dev, "could not set up interrupt\n"));
        goto cleanup;



pciconf:
sdshc0 at pci0:5:9:2:      class=0x080500 card=0xc024144d chip=0x08221180
rev=0x18 hdr=0x00
    vendor     = 'Ricoh Company, Ltd.'
    device     = 'R5C832, R5C843 SDA Standard Compliant SD Host
Controller'
    class      = base peripheral

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-mobile/attachments/20080517/48d77af6/attachment.pgp


More information about the freebsd-mobile mailing list