Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b6f5b3a authored by Mike Christie's avatar Mike Christie Committed by James Bottomley
Browse files

[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: default avatarMike Christie <michaelc@cs.wisc.edu>
Acked-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 67951f63
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -294,6 +294,7 @@ static void scsi_device_dev_release_usercontext(struct work_struct *work)
	}

	if (sdev->request_queue) {
		bsg_unregister_queue(sdev->request_queue);
		sdev->request_queue->queuedata = NULL;
		/* user context needed to free queue */
		scsi_free_queue(sdev->request_queue);
@@ -857,7 +858,6 @@ void __scsi_remove_device(struct scsi_device *sdev)
	if (scsi_device_set_state(sdev, SDEV_CANCEL) != 0)
		return;

	bsg_unregister_queue(sdev->request_queue);
	class_device_unregister(&sdev->sdev_classdev);
	transport_remove_device(dev);
	device_del(dev);