aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorStephen Cameron <stephenmcameron@gmail.com>2015-01-23 17:44:01 -0500
committerJames Bottomley <JBottomley@Parallels.com>2015-02-02 12:57:42 -0500
commit6f99a9160f1947569bc17b85fbe7353a1090dfe7 (patch)
tree37b0c2e6cbd9f5f715ee9fffbe57697dbe6f3df6 /drivers/scsi
parentc2b0acde0608542add2bfc2a73c23b98f20eeec4 (diff)
hpsa: remove incorrect BUG_ONs checking for raid offload enable
In set_encrypt_ioaccel2() and in hpsa_scsi_ioaccel_raid_map there were BUG_ONs that looked like this: BUG_ON(!(dev->offload_config && dev->offload_enabled)); But, In hpsa_ack_ctlr_events() we have this, /* Stop sending new RAID offload reqs via the IO accelerator */ scsi_block_requests(h->scsi_host); for (i = 0; i < h->ndevices; i++) h->dev[i]->offload_enabled = 0; hpsa_drain_accel_commands(h); So, we set offload_enabled = 0 for all drives, then do this drain_accel_commands, so that means accel commands could still be in flight, ie. perhaps having just been submitted into hpsa_scsi_ioaccel_raid_map concurrent with ->offload_enabled having just been set to zero. Reviewed-by: Scott Teel <scott.teel@pmcs.com> Signed-off-by: Don Brace <don.brace@pmcs.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/hpsa.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index bae3759e30e2..5abd49d85940 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -3456,8 +3456,6 @@ static void set_encrypt_ioaccel2(struct ctlr_info *h,
3456 struct raid_map_data *map = &dev->raid_map; 3456 struct raid_map_data *map = &dev->raid_map;
3457 u64 first_block; 3457 u64 first_block;
3458 3458
3459 BUG_ON(!(dev->offload_config && dev->offload_enabled));
3460
3461 /* Are we doing encryption on this device */ 3459 /* Are we doing encryption on this device */
3462 if (!(le16_to_cpu(map->flags) & RAID_MAP_FLAG_ENCRYPT_ON)) 3460 if (!(le16_to_cpu(map->flags) & RAID_MAP_FLAG_ENCRYPT_ON))
3463 return; 3461 return;
@@ -3688,8 +3686,6 @@ static int hpsa_scsi_ioaccel_raid_map(struct ctlr_info *h,
3688#endif 3686#endif
3689 int offload_to_mirror; 3687 int offload_to_mirror;
3690 3688
3691 BUG_ON(!(dev->offload_config && dev->offload_enabled));
3692
3693 /* check for valid opcode, get LBA and block count */ 3689 /* check for valid opcode, get LBA and block count */
3694 switch (cmd->cmnd[0]) { 3690 switch (cmd->cmnd[0]) {
3695 case WRITE_6: 3691 case WRITE_6: