Messages in this thread | | | Date | Mon, 4 Jul 2011 13:27:27 +0200 | From | Heiko Carstens <> | Subject | Re: Linux 3.0 oopses when pulling a USB CDROM |
| |
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
| |