diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c
index 8a254bb46a9b402b83e8e99e4474327c75c52c18..c6ad00703c5b0b6c3b4d72087649407b0a6f4cfd 100644
--- a/drivers/scsi/sg.c
+++ b/drivers/scsi/sg.c
@@ -822,7 +822,7 @@ sg_common_write(Sg_fd * sfp, Sg_request * srp,
 	if (atomic_read(&sdp->detaching)) {
 		if (srp->bio) {
 			scsi_req_free_cmd(scsi_req(srp->rq));
-			blk_end_request_all(srp->rq, BLK_STS_IOERR);
+			blk_put_request(srp->rq);
 			srp->rq = NULL;
 		}