Commit 4b6f5b3a993cbe34b4280f252bccc76967c185c8

Authored by Mike Christie
Committed by James Bottomley
1 parent 67951f6380

[SCSI] fix bsg queue oops with iscsi logout

Delay bsg unregistration, because we want to wait until all the request/cmds
have released their reference.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

drivers/scsi/scsi_sysfs.c
... ... @@ -294,6 +294,7 @@
294 294 }
295 295  
296 296 if (sdev->request_queue) {
  297 + bsg_unregister_queue(sdev->request_queue);
297 298 sdev->request_queue->queuedata = NULL;
298 299 /* user context needed to free queue */
299 300 scsi_free_queue(sdev->request_queue);
... ... @@ -857,7 +858,6 @@
857 858 if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0)
858 859 return;
859 860  
860   - bsg_unregister_queue(sdev->request_queue);
861 861 class_device_unregister(&sdev->sdev_classdev);
862 862 transport_remove_device(dev);
863 863 device_del(dev);