libertas (sd8385/8686) and iMX51
Dan Williams
dcbw at redhat.com
Wed Jun 2 01:23:10 EDT 2010
On Thu, 2010-05-27 at 18:32 -0700, William To wrote:
> Dear All,
>
> I am porting WiFi support on Android to the iMX51 platform, and my choice of device is the SD8386 and SD8686 SDIO cards connected to the mmc/sd controller (on MMC1 channel). The libertas driver I use for this porting is the libertas driver with the supplied kernel firmware sd8385_helper.bin and sd8385.bin for the SD8385, and vendor-supplied firmware for SD8686. The firmware for SD8686 works for an ARM9 platform previously.
>
> The problem I face now is whenever the driver loads the helper and main firmware, the kernel panics after displaying messages stating the MAC address, and other information. The failure dump is as follows:
Is there any chance you can put some printk() statements into
if_sdio_interrupt() to track down where the NULL pointer deref is coming
from?
Dan
> # insmod /system/lib/modules/libertas.ko
> # insmod /system/lib/modules/libertas_sdio.ko
> libertas_sdio: Libertas SDIO driver
> libertas_sdio: Copyright Pierre Ossman
> Build at May 27 2010 18:43:47
> libertas_sdio mmc1:0001:1: firmware: requesting sd8385_helper.bin
> init: untracked pid 2206 exited
> libertas_sdio mmc1:0001:1: firmware: requesting sd8385.bin
> init: untracked pid 2210 exited
> libertas: command 0x0003 timed out
> libertas: requeueing command 0x0003 due to timeout (#1)
> libertas: Received result 0 to command 3 after 1 retries
> libertas: 00:12:cf:2b:98:72, fw 5.0.11p0, cap 0x00000303
> Unable to handle kernel NULL pointer dereference at virtual address 00000000
> pgd = c0004000
> [00000000] *pgd=00000000
> Internal error: Oops: 817 [#1] PREEMPT
> Modules linked in: libertas_sdio(+) libertas gpu_z430(P)
> CPU: 0 Tainted: P (2.6.28-00580-g87cd054 #20)
> PC is at if_sdio_interrupt+0x434/0x950 [libertas_sdio]
> LR is at schedule+0x298/0x308
> pc : [<bf04e5e0>] lr : [<c0357928>] psr: 20000093
> sp : dab75f58 ip : 00000010 fp : dab75f8c
> r10: 00000000 r9 : 7fffffff r8 : dab8001c
> r7 : 0000000c r6 : daba0380 r5 : 80000013 r4 : 00000000
> r3 : 00000000 r2 : daba0380 r1 : 00001d54 r0 : 00000001
> Flags: nzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
> Control: 10c5387d Table: aa2dc018 DAC: 00000017
> Process ksdioirqd/mmc1 (pid: 2205, stack limit = 0xdab742e0)
> Stack: (0xdab75f58 to 0xdab76000)
> 5f40: 00000000 00000000
> 5f60: 00000000 00000000 00000000 00000000 da21dc00 da10e000 da10e000 00000001
> 5f80: dab75fd4 dab75f90 c027965c bf04e1b8 00000000 dab75fa7 00000001 dab74000
> 5fa0: 00000001 02b75fb0 c0357928 dab74000 da21dc00 c0279564 00000000 00000000
> 5fc0: 00000000 00000000 dab75ff4 dab75fd8 c0066fbc c0279570 00000000 00000000
> 5fe0: 00000000 00000000 00000000 dab75ff8 c00541f8 c0066f6c 00001000 ffffefff
> Backtrace:
> [<bf04e1ac>] (if_sdio_interrupt+0x0/0x950 [libertas_sdio]) from [<c027965c>] (sdio_irq_thread+0xf8/0x224)
> r8:00000001 r7:da10e000 r6:da10e000 r5:da21dc00 r4:00000000
> [<c0279564>] (sdio_irq_thread+0x0/0x224) from [<c0066fbc>] (kthread+0x5c/0x94)
> [<c0066f60>] (kthread+0x0/0x94) from [<c00541f8>] (do_exit+0x0/0x7a4)
> r6:00000000 r5:00000000 r4:00000000
> Code: e7923001 e3530000 0a000002 e3a03000 (e5833000)
> Kernel panic - not syncing: Fatal exception
> libertas: command 0x0028 timed out
>
> I am not sure whether there is something I did wrong, or there is something I missed, or there is some other problem with the iMX51 platform which I need to solve before porting WiFi.
>
> Thanks very much and Best Regards William To
>
>
>
>
>
>
> _______________________________________________
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/libertas-dev
More information about the libertas-dev
mailing list