Re: [bug] ieee1394/sbp2 - sleeping in invalid context

From: dan carpenter (d_carpenter@sbcglobal.net)
Date: Sun Jul 27 2003 - 05:46:50 EST


I think sbp2scsi_queuecommand is called from outside interrupt context. The
obvious but possibly wrong way to fix this would be to change the calls to
hpsb_get_tlabel() to check in_atomic() instead of in_interrupt().

regards,
dan carpenter

On Saturday 26 July 2003 05:24 am, Brad Hards wrote:
> Debug: sleeping function called from invalid context at
> include/asm/semaphore.h:119 Call Trace:
> [<c011c61e>] __might_sleep+0x5e/0x62
> [<c031bfad>] hpsb_get_tlabel+0x5d/0x230
    calls down()

> [<c0319d97>] alloc_hpsb_packet+0xa7/0xd0
    calls hpsb_get_tlabel(packet, in_interrupt() ? 0 : 1)

> [<c031c4e2>] hpsb_make_writepacket+0xa2/0x140
    calls alloc_hpsb_packet(length + (length % 4 ? 4 - (length % 4) : 0));
    calls hpsb_get_tlabel(packet, in_interrupt() ? 0 : 1)

> [<c032c5c6>] sbp2_link_orb_command+0x86/0x190
    calls hpsb_make_writepacket()

> [<c032c773>] sbp2_send_command+0xa3/0xf0
    calls sbp2util_allocate_command_orb(scsi_id, SCpnt, done);

> [<c032cd70>] sbp2scsi_queuecommand+0xb0/0x210
    calls sbp2_send_command under a spinlock

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jul 31 2003 - 22:00:31 EST