[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070227185134.GJ20397@andrew-vasquezs-computer.local>
Date: Tue, 27 Feb 2007 10:51:34 -0800
From: Andrew Vasquez <andrew.vasquez@...gic.com>
To: Andre Noll <maan@...temlinux.org>
Cc: linux-kernel@...r.kernel.org, linux-scsi@...r.kernel.org,
James Bottomley <James.Bottomley@...elEye.com>
Subject: Re: qla2xxx BUG: workqueue leaked lock or atomic
On Tue, 27 Feb 2007, Andre Noll wrote:
> On 10:26, Andrew Vasquez wrote:
> > You are loading some stale firmware that's left over on the card --
> > I'm not even sure what 4.00.70 is, as the latest release firmware is
> > 4.00.27.
>
> That's the firmware which came with the card. Anyway, I just upgraded
> the firmware, but the bug remains. The backtrace differs a bit though
> as now the tg3 network driver seems to be involved as well.
>
> Thanks for your help
> Andre
...
> [ 68.532665] BUG: at kernel/lockdep.c:1860 trace_hardirqs_on()
> [ 68.532784]
> [ 68.532785] Call Trace:
> [ 68.532979] <IRQ> [<ffffffff8024b877>] trace_hardirqs_on+0xd7/0x180
> [ 68.533168] [<ffffffff80511f5b>] _spin_unlock_irq+0x2b/0x40
> [ 68.533295] [<ffffffff88032747>] :qla2xxx:qla2x00_process_completed_request+0x137/0x1d0
> [ 68.533457] [<ffffffff88032862>] :qla2xxx:qla2x00_status_entry+0x82/0xa40
> [ 68.533577] [<ffffffff8024b17f>] __lock_acquire+0xcdf/0xd90
> [ 68.533693] [<ffffffff80511ff2>] _spin_unlock_irqrestore+0x42/0x60
> [ 68.533816] [<ffffffff880343fe>] :qla2xxx:qla24xx_intr_handler+0x4e/0x2b0
> [ 68.533942] [<ffffffff88033551>] :qla2xxx:qla24xx_process_response_queue+0xc1/0x1c0
> [ 68.534102] [<ffffffff88034584>] :qla2xxx:qla24xx_intr_handler+0x1d4/0x2b0
Ok, since 2.6.20, there been a patch added to qla2xxx which drops the
spin_unlock_irq() call while attempting to ramp-up the queue-depth:
commit befede3dabd204e9c546cbfbe391b29286c57da2
Author: Seokmann Ju <seokmann.ju@...gic.com>
Date: Tue Jan 9 11:37:52 2007 -0800
[SCSI] qla2xxx: correct locking while call starget_for_each_device()
Removed spin_unlock_irq()/spin_lock_irq() pairs surrounding
starget_for_each_device() calls.
As Matthew W. pointed out, starget_for_each_device() can be called under
a spinlock being held.
The change has been tested and verified on qla2xxx.ko module.
Thanks Matthew W. and Hisashi H. for help.
Signed-off-by: Andrew Vasquez <Andrew.vasquez@...gic.com>
Signed-off-by: Seokmann Ju <Seokmann.ju@...gic.com>
Signed-off-by: James Bottomley <James.Bottomley@...elEye.com>
http://marc.theaimsgroup.com/?l=linux-scsi&m=116837234904583&w=2
Could you try the latest 2.6.21-rc which contains the correction?
Regards,
Andrew Vasquez
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists