Commit b95be99d authored by Alan Stern's avatar Alan Stern Committed by James Bottomley
Browse files

[SCSI] fix oops in scsi_release_buffers()



I found one other thing that needs to be fixed.  The call to
scsi_release_buffers in scsi_unprep_request causes an oops, because the
sgtable has already been freed in scsi_io_completion.  The following patch
is needed.

Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 1832a586
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -118,7 +118,6 @@ static void scsi_unprep_request(struct request *req)
	req->flags &= ~REQ_DONTPREP;
	req->special = (req->flags & REQ_SPECIAL) ? cmd->sc_request : NULL;

	scsi_release_buffers(cmd);
	scsi_put_command(cmd);
}

@@ -1512,7 +1511,6 @@ static void scsi_request_fn(struct request_queue *q)
	 * cases (host limits or settings) should run the queue at some
	 * later time.
	 */
	scsi_unprep_request(req);
	spin_lock_irq(q->queue_lock);
	blk_requeue_request(q, req);
	sdev->device_busy--;