On 10/28/12 19:01, Zhuang, Jin Can wrote:
I recently ran into the same issue
The test I did is plug/unplug u-disk in an interval of 1 second. And
> I found when sdev1 is being removed, scsi_run_queue is triggered by
> sdev2, which then accesses all the starving scsi device including sdev1.
I have adopted the solution below which works fine for me so far.
But there's one thing to fix in the patch below. When it put_device
> in scsi_run_queue, irq is disabled. As put_device may get into sleep,
> irq should be enabled before it's called.
Hello Jincan,
Thanks for testing and the feedback. However, are you sure that
put_device() for a SCSI device may sleep ? Have you noticed the
execute_in_process_context() call in scsi_device_dev_release() ?
Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html