summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2009-11-16 19:47:47 +0100
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 19:01:47 +0100
commiteff21490c91f981126f0ead3c081dde4f425d387 (patch)
tree4c4da80842cd2382133ec7f08505ecc539d5e315 /drivers/scsi
parent[SCSI] libosd: bug in osd_req_decode_sense_full() (diff)
downloadlinux-eff21490c91f981126f0ead3c081dde4f425d387.tar.xz
linux-eff21490c91f981126f0ead3c081dde4f425d387.zip
[SCSI] libosd: Bugfix of error handling in attributes-list decoding
When an error was detected in an attribute list do to a target bug. We would print an error but spin endlessly regardless. Fix it. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/osd/osd_initiator.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/osd/osd_initiator.c b/drivers/scsi/osd/osd_initiator.c
index 5e90d19fddf8..ba25b1e58a6c 100644
--- a/drivers/scsi/osd/osd_initiator.c
+++ b/drivers/scsi/osd/osd_initiator.c
@@ -1167,6 +1167,7 @@ int osd_req_decode_get_attr_list(struct osd_request *or,
"c=%d r=%d n=%d\n",
cur_bytes, returned_bytes, n);
oa->val_ptr = NULL;
+ cur_bytes = returned_bytes; /* break the caller loop */
break;
}