diff options
author | James Bottomley <jejb@mulgrave.(none)> | 2005-09-09 10:44:16 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-09-09 10:44:16 -0500 |
commit | e91442b635be776ea205fba233bdd5bc74b62bc3 (patch) | |
tree | c04066f8d17be121244d870ab9347ca6e8c7cda3 /drivers/scsi/libata-scsi.c | |
parent | 286f3e13a1dc7f32407629fbd7aabc8ea78c62b5 (diff) | |
download | blackbird-op-linux-e91442b635be776ea205fba233bdd5bc74b62bc3.tar.gz blackbird-op-linux-e91442b635be776ea205fba233bdd5bc74b62bc3.zip |
[SCSI] SCSI core: fix leakage of scsi_cmnd's
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: Alan Stern <stern@rowland.harvard.edu>
Rejections fixed up and
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/libata-scsi.c')
0 files changed, 0 insertions, 0 deletions