• James Bottomley's avatar
    [SCSI] SCSI core: fix leakage of scsi_cmnd's · e91442b6
    James Bottomley authored
    From: 	Alan Stern <stern@rowland.harvard.edu>
    This patch (as559b) adds a new routine, scsi_unprep_request, which
    gets called every place a request is requeued.  (That includes
    scsi_queue_insert as well as scsi_requeue_command.)  It also changes
    scsi_kill_requests to make it call __scsi_done with result equal to
    DID_NO_CONNECT << 16.  (I'm not sure if it's necessary to call
    scsi_init_cmd_errh here; maybe you can check on that.)  Finally, the
    patch changes the return value from scsi_end_request, to avoid
    returning a stale pointer in the case where the request was requeued.
    Fortunately the return value is used in only place, and the change
    actually simplified it.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Rejections fixed up and
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>