summaryrefslogtreecommitdiff
path: root/drivers/scsi/scsi_transport_sas.c
diff options
context:
space:
mode:
authorFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2009-06-17 10:10:10 +0400
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-06-21 19:52:41 +0400
commit93bdcba5a7e55307e27671594c3cd8b4669b9e7a (patch)
treefd8dcd4c4823dd4d41d48cae3f8705115d412f46 /drivers/scsi/scsi_transport_sas.c
parentbd2199d417313a056d4d2b2bac852231e1b50a4e (diff)
downloadlinux-93bdcba5a7e55307e27671594c3cd8b4669b9e7a.tar.xz
scsi_transport_sas: needs to call blk_end_request_all for SMP requests
We need to call blk_end_request_all to complete SMP requests properly. Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/scsi_transport_sas.c')
-rw-r--r--drivers/scsi/scsi_transport_sas.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c
index d606452297cf..0895d3c71b03 100644
--- a/drivers/scsi/scsi_transport_sas.c
+++ b/drivers/scsi/scsi_transport_sas.c
@@ -173,9 +173,9 @@ static void sas_smp_request(struct request_queue *q, struct Scsi_Host *shost,
ret = handler(shost, rphy, req);
req->errors = ret;
- spin_lock_irq(q->queue_lock);
+ blk_end_request_all(req, ret);
- req->end_io(req, ret);
+ spin_lock_irq(q->queue_lock);
}
}