aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/sg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/sg.c')
-rw-r--r--drivers/scsi/sg.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 9d7b7db75e4b..503ab8b46c0b 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -787,8 +787,14 @@ sg_common_write(Sg_fd * sfp, Sg_request * srp,
787 return k; /* probably out of space --> ENOMEM */ 787 return k; /* probably out of space --> ENOMEM */
788 } 788 }
789 if (atomic_read(&sdp->detaching)) { 789 if (atomic_read(&sdp->detaching)) {
790 if (srp->bio) 790 if (srp->bio) {
791 if (srp->rq->cmd != srp->rq->__cmd)
792 kfree(srp->rq->cmd);
793
791 blk_end_request_all(srp->rq, -EIO); 794 blk_end_request_all(srp->rq, -EIO);
795 srp->rq = NULL;
796 }
797
792 sg_finish_rem_req(srp); 798 sg_finish_rem_req(srp);
793 return -ENODEV; 799 return -ENODEV;
794 } 800 }