Messages in this thread |  | | | Date | Wed, 05 Dec 2007 21:12:51 -0800 (PST) | | Subject | Re: [PATCH] esp_scsi: Fix reset cleanup spinlock recursion | | From | David Miller <> |
From: "Maciej W. Rozycki" <macro@linux-mips.org>
Date: Wed, 5 Dec 2007 16:10:54 +0000 (GMT)
> The esp_reset_cleanup() function is called with the host lock held and
> invokes starget_for_each_device() which wants to take it too. Here is a
> fix along the lines of shost_for_each_device()/__shost_for_each_device()
> adding a __starget_for_each_device() counterpart which assumes the lock
> has already been taken.
>
> Eventually, I think the driver should get modified so that more work is
> done as a softirq rather than in the interrupt context, but for now it
> fixes a bug that causes the spinlock debugger to fire.
>
> While at it, it fixes a small number of cosmetic problems with
> starget_for_each_device() too.
>
> Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Acked-by: David S. Miller <davem@davemloft.net>
Thanks for finding and fixing this bug.
|  |