summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDon Brace <don.brace@microsemi.com>2016-04-28 01:14:07 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2016-04-30 02:08:24 +0300
commit064d1b1d2d8e0b90f1a0a49112eca0d5c2a09b16 (patch)
tree733e2a840e6d5fb1555024fb0561f0e2d383826a
parent5323ed74bdf1274caabea6bfc94eef32b89c72fe (diff)
downloadlinux-064d1b1d2d8e0b90f1a0a49112eca0d5c2a09b16.tar.xz
hpsa: correct ioaccel2 error procecssing.
set offload_to_be_enabled to 0 when an ioaccel2 error is processed. Before, an ioaccel completion error would turn of ioaccel but a rescan would turn it back on again. Reviewed-by: Scott Teel <scott.teel@microsemi.com> Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com> Signed-off-by: Don Brace <don.brace@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/hpsa.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 57f7062f03cf..4f8e3285baa9 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -2360,8 +2360,10 @@ static void process_ioaccel2_completion(struct ctlr_info *h,
c2->error_data.serv_response ==
IOACCEL2_SERV_RESPONSE_FAILURE) {
if (c2->error_data.status ==
- IOACCEL2_STATUS_SR_IOACCEL_DISABLED)
+ IOACCEL2_STATUS_SR_IOACCEL_DISABLED) {
dev->offload_enabled = 0;
+ dev->offload_to_be_enabled = 0;
+ }
return hpsa_retry_cmd(h, c);
}