summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/osd
diff options
context:
space:
mode:
authorBoaz Harrosh <bharrosh@panasas.com>2009-11-16 20:47:47 +0200
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 12:01:47 -0600
commiteff21490c91f981126f0ead3c081dde4f425d387 (patch)
tree4c4da80842cd2382133ec7f08505ecc539d5e315 /drivers/scsi/osd
parent71ecb74b15377a6c0e0e6ea95d4b549580fb4d48 (diff)
downloadlinux-eff21490c91f981126f0ead3c081dde4f425d387.tar.bz2
[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/osd')
-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;
}