summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2007-12-30 19:34:52 +0900
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2008-01-11 18:29:09 -0600
commit38b3167f75c9508156b974d19692c19b78292e2e (patch)
tree2b51dfa5f921bec99408b0742601a1c9451fe00d
parentfdf234527a070f6fc89f3ec5ee4ae1b263e59939 (diff)
downloadop-kernel-dev-38b3167f75c9508156b974d19692c19b78292e2e.zip
op-kernel-dev-38b3167f75c9508156b974d19692c19b78292e2e.tar.gz
[SCSI] mpt fusion: make mptsas_smp_handler update resid
This patch fixes mptsas_smp_handler to update both din_resid or dout_resid on success. bsg can report back the residual. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/message/fusion/mptsas.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index e4c94f9..f77b329 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -1343,6 +1343,8 @@ static int mptsas_smp_handler(struct Scsi_Host *shost, struct sas_rphy *rphy,
smprep = (SmpPassthroughReply_t *)ioc->sas_mgmt.reply;
memcpy(req->sense, smprep, sizeof(*smprep));
req->sense_len = sizeof(*smprep);
+ req->data_len = 0;
+ rsp->data_len -= smprep->ResponseDataLength;
} else {
printk(MYIOC_s_ERR_FMT "%s: smp passthru reply failed to be returned\n",
ioc->name, __FUNCTION__);
OpenPOWER on IntegriCloud