Re: Linux 3.0 oopses when pulling a USB CDROM

Heiko Carstens
2011-07-04T11:27:27Z

On Sat, Jul 02, 2011 at 01:37:59PM -0400, Alan Stern wrote:
> The second bug, which hit me but apparently not any of you, is that the
> request_queue's elevator gets deallocated while it is still in use.
> That's because __scsi_remove_device() calls scsi_free_queue(), which
> does blk_cleanup_queue(), which calls elevator_exit(), even though the
> device file is still open and more requests will be submitted when the
> file is closed.
>
> I'm not sure of the right fix for this. One possibility is to move the
> scsi_free_queue() call to scsi_device_dev_release_usercontext(). Or
> maybe the elevator_exit() call should be moved to blk_release_queue().
>
> Also, I have no idea why this shows up with USB drives but not other
> SCSI transports. A fluke of timing?

FWIW, I reported a bug where the request_queue's elevator got deallocated
while it was still in use (fc transport with device hotplug):

http://www.spinics.net/lists/linux-scsi/msg52879.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html