diff options
author | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2007-03-02 19:55:54 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-03-11 12:39:27 -0400 |
commit | bc7e380a6a4c94f79a49c36bdb28062a750b3c2b (patch) | |
tree | c5ae13015fd0f7f15e9dbf16f865a11d0c495f3b /drivers/scsi/scsi_tgt_if.c | |
parent | 181011e04a2a32f8d5df212254239ac9a3c8ab5e (diff) |
[SCSI] tgt: fix sesnse buffer problems
This patch simplify the way to notify LLDs of the command completion
and addresses the following sense buffer problems:
- can't handle both data and sense.
- forces user-space to use aligned sense buffer
tgt copies sense_data from userspace to cmnd->sense_buffer (if
necessary), maps user-space pages (if necessary) and then calls
host->transfer_response (host->transfer_data is removed).
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/scsi_tgt_if.c')
-rw-r--r-- | drivers/scsi/scsi_tgt_if.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_tgt_if.c b/drivers/scsi/scsi_tgt_if.c index 0e08817fdecf..ca22ddf81746 100644 --- a/drivers/scsi/scsi_tgt_if.c +++ b/drivers/scsi/scsi_tgt_if.c | |||
@@ -179,10 +179,12 @@ static int event_recv_msg(struct tgt_event *ev) | |||
179 | switch (ev->hdr.type) { | 179 | switch (ev->hdr.type) { |
180 | case TGT_UEVENT_CMD_RSP: | 180 | case TGT_UEVENT_CMD_RSP: |
181 | err = scsi_tgt_kspace_exec(ev->p.cmd_rsp.host_no, | 181 | err = scsi_tgt_kspace_exec(ev->p.cmd_rsp.host_no, |
182 | ev->p.cmd_rsp.tag, | ||
183 | ev->p.cmd_rsp.result, | 182 | ev->p.cmd_rsp.result, |
184 | ev->p.cmd_rsp.len, | 183 | ev->p.cmd_rsp.tag, |
185 | ev->p.cmd_rsp.uaddr, | 184 | ev->p.cmd_rsp.uaddr, |
185 | ev->p.cmd_rsp.len, | ||
186 | ev->p.cmd_rsp.sense_uaddr, | ||
187 | ev->p.cmd_rsp.sense_len, | ||
186 | ev->p.cmd_rsp.rw); | 188 | ev->p.cmd_rsp.rw); |
187 | break; | 189 | break; |
188 | case TGT_UEVENT_TSK_MGMT_RSP: | 190 | case TGT_UEVENT_TSK_MGMT_RSP: |