BUG: scheduling while atomic

Dan Williams dcbw at redhat.com
Fri Jul 30 02:32:36 EDT 2010


On Thu, 2010-07-29 at 17:00 +1000, Amit Hergass wrote:
> Hi,
> 
>  
> 
> I am developing the LTIB linux kernel 2.6.34 for  Phythec board
> phy3250.
> 
> The libertas SPI was integrated and communicate with the external
> world.

Yeah, looks like the SPI write routines are called from main.c under
spin_lock_irq() for data packets which is probably causing that warning.
SDIO doesn't get it because it uses a workqueue to shovel data to the
firmware later.  I supposed the driver shouldn't be doing this here, but
it'll take a bit of work to make sure it doesn't.  Thoughts anyone?

Dan

> The only issue is the bug it announces to the consol when
> communicating.
> 
> From reading previous threads, it looks like a similar issue was fixed
> and a patch applied.
> 
>  
> 
> Please find the information below.
> 
>  
> 
> Thanks,
> 
> Amit
> 
>  
> 
>  
> 
> BUG: scheduling while atomic: lbs_main/800/0x00000002
> 
> Modules linked in: libertas_spi
> 
> Backtrace:
> 
> [<c002aa18>] (dump_backtrace+0x0/0x108) from [<c002ab54>] (dump_stack
> +0x18/0x1c)
> 
>  r6:c3c41080 r5:c3e4c000 r4:00000000
> 
> [<c002ab3c>] (dump_stack+0x0/0x1c) from [<c00405c8>] (__schedule_bug
> +0x50/0x5c)
> 
> [<c0040578>] (__schedule_bug+0x0/0x5c) from [<c033dbb4>] (schedule
> +0x68/0x358)
> 
>  r4:c3e4de68
> 
> [<c033db4c>] (schedule+0x0/0x358) from [<c033e4ec>] (schedule_timeout
> +0x20/0x1d8)
> 
> [<c033e4cc>] (schedule_timeout+0x0/0x1d8) from [<c033e28c>]
> (wait_for_common+0xf8/0x1c4)
> 
>  r7:c3e4deac r6:7fffffff r5:c3e4c000 r4:c3e4de68
> 
> [<c033e194>] (wait_for_common+0x0/0x1c4) from [<c033e3e8>]
> (wait_for_completion+0x18/0x1c)
> 
>  r8:c3e4df28 r7:c3ecd788 r6:00000000 r5:c3e4ded8 r4:c3e4deac
> 
> [<c033e3d0>] (wait_for_completion+0x0/0x1c) from [<c01e1e9c>]
> (spi_sync+0x4c/0x64)
> 
> [<c01e1e50>] (spi_sync+0x0/0x64) from [<bf0003dc>] (spu_write
> +0xc4/0xe0 [libertas_spi])
> 
>  r6:00000604 r5:c3e4ded8 r4:c3de4000
> 
> [<bf000318>] (spu_write+0x0/0xe0 [libertas_spi]) from [<bf000434>]
> (if_spi_host_to_card+0x3c/0x58 [libertas_spi])
> 
> [<bf0003f8>] (if_spi_host_to_card+0x0/0x58 [libertas_spi]) from
> [<c01faad0>] (lbs_thread+0x464/0x560)
> 
> [<c01fa66c>] (lbs_thread+0x0/0x560) from [<c005e570>] (kthread
> +0x84/0x8c)
> 
> [<c005e4ec>] (kthread+0x0/0x8c) from [<c004a968>] (do_exit+0x0/0x684)
> 
>  r7:00000000 r6:00000000 r5:00000000 r4:00000000
> 
> BUG: scheduling while atomic: lbs_main/800/0x00000002
> 
> Modules linked in:
> 
>  libertas_spi
> 
> 
> _______________________________________________
> 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