scsi: hpsa: correct queue depth for externals
- queue depth assignment not in correct place, had no effect. Reviewed-by: Scott Benesh <scott.benesh@microsemi.com> 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> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
c59d04f30d
commit
5086435e66
|
@ -2069,10 +2069,13 @@ static int hpsa_slave_configure(struct scsi_device *sdev)
|
||||||
sd = sdev->hostdata;
|
sd = sdev->hostdata;
|
||||||
sdev->no_uld_attach = !sd || !sd->expose_device;
|
sdev->no_uld_attach = !sd || !sd->expose_device;
|
||||||
|
|
||||||
if (sd)
|
if (sd) {
|
||||||
queue_depth = sd->queue_depth != 0 ?
|
if (sd->external)
|
||||||
sd->queue_depth : sdev->host->can_queue;
|
queue_depth = EXTERNAL_QD;
|
||||||
else
|
else
|
||||||
|
queue_depth = sd->queue_depth != 0 ?
|
||||||
|
sd->queue_depth : sdev->host->can_queue;
|
||||||
|
} else
|
||||||
queue_depth = sdev->host->can_queue;
|
queue_depth = sdev->host->can_queue;
|
||||||
|
|
||||||
scsi_change_queue_depth(sdev, queue_depth);
|
scsi_change_queue_depth(sdev, queue_depth);
|
||||||
|
@ -3915,6 +3918,9 @@ static int hpsa_update_device_info(struct ctlr_info *h,
|
||||||
this_device->queue_depth = h->nr_cmds;
|
this_device->queue_depth = h->nr_cmds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this_device->external)
|
||||||
|
this_device->queue_depth = EXTERNAL_QD;
|
||||||
|
|
||||||
if (is_OBDR_device) {
|
if (is_OBDR_device) {
|
||||||
/* See if this is a One-Button-Disaster-Recovery device
|
/* See if this is a One-Button-Disaster-Recovery device
|
||||||
* by looking for "$DR-10" at offset 43 in inquiry data.
|
* by looking for "$DR-10" at offset 43 in inquiry data.
|
||||||
|
@ -4123,14 +4129,6 @@ static void hpsa_get_ioaccel_drive_info(struct ctlr_info *h,
|
||||||
int rc;
|
int rc;
|
||||||
struct ext_report_lun_entry *rle;
|
struct ext_report_lun_entry *rle;
|
||||||
|
|
||||||
/*
|
|
||||||
* external targets don't support BMIC
|
|
||||||
*/
|
|
||||||
if (dev->external) {
|
|
||||||
dev->queue_depth = 7;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
rle = &rlep->LUN[rle_index];
|
rle = &rlep->LUN[rle_index];
|
||||||
|
|
||||||
dev->ioaccel_handle = rle->ioaccel_handle;
|
dev->ioaccel_handle = rle->ioaccel_handle;
|
||||||
|
|
|
@ -57,6 +57,7 @@ struct hpsa_sas_phy {
|
||||||
bool added_to_port;
|
bool added_to_port;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define EXTERNAL_QD 7
|
||||||
struct hpsa_scsi_dev_t {
|
struct hpsa_scsi_dev_t {
|
||||||
unsigned int devtype;
|
unsigned int devtype;
|
||||||
int bus, target, lun; /* as presented to the OS */
|
int bus, target, lun; /* as presented to the OS */
|
||||||
|
|
Loading…
Reference in New Issue