diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2007-12-29 11:59:53 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-01-11 19:29:13 -0500 |
commit | 2d507a01dac338831266b44ccbb01c69e84606ed (patch) | |
tree | ec59ce6bc1ec86e93d1683107d41b5dbce0b370a /drivers/scsi/scsi_transport_sas.c | |
parent | 2d4b63e1505b317d4253cee3f2970792ec6d41cb (diff) |
[SCSI] libsas, bsg: pass errors through correctly
Currently in BSG, errors returned in req->errors aren't passed back to
the calling programme (either via SG_IO or via read/write). Fix this,
while preserving the SCSI convention of returning status in
req->errors.
Now update libsas to return errors correctly instead of to ignore
them.
Acked-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.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c index 87e786daa713..f2149d0bb999 100644 --- a/drivers/scsi/scsi_transport_sas.c +++ b/drivers/scsi/scsi_transport_sas.c | |||
@@ -173,6 +173,7 @@ static void sas_smp_request(struct request_queue *q, struct Scsi_Host *shost, | |||
173 | 173 | ||
174 | handler = to_sas_internal(shost->transportt)->f->smp_handler; | 174 | handler = to_sas_internal(shost->transportt)->f->smp_handler; |
175 | ret = handler(shost, rphy, req); | 175 | ret = handler(shost, rphy, req); |
176 | req->errors = ret; | ||
176 | 177 | ||
177 | spin_lock_irq(q->queue_lock); | 178 | spin_lock_irq(q->queue_lock); |
178 | 179 | ||