On Tue, 2005-11-08 at 13:33 -0800, Patrick Mansfield wrote: > I mean we get a ref to the sdev in the upper level driver opens, scan, and > sd flush. So where are we not getting a ref? > > Shouldn't the get be done at a higher level? Actually, no, because of the way we run the queues for the next command. If this is a sd_sync_cache() or something for the last possible command on the device, the process may have a reference to the device, but as soon as we call end_that_request_last(), they may be racing to release it. The bug is triggered when we get into scsi_next_command() with us holding the only remaining reference to the device. James - : 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