Re: [PATCH] esp_scsi: Fix reset cleanup spinlock recursion

From: David Miller
Date: Thu Dec 06 2007 - 00:13:03 EST


From: "Maciej W. Rozycki" <macro@xxxxxxxxxxxxxx>
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@xxxxxxxxxxxxxx>

Acked-by: David S. Miller <davem@xxxxxxxxxxxxx>

Thanks for finding and fixing this bug.

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