[SCSI] qla2xxx: Issue correct MBC_INITIALIZE_FIRMWARE command.
There is a case where 54xx HBA loads MID firmware as it use 24xx firmware. In this case, the driver should issue MBC_MID_INITIALIZE FIRMWARE even though the HBA doesn't support NPIV. This patch make changes in the driver so that could behave accordingly. Signed-off-by: Seokmann Ju <seokmann.ju@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
fc44765f5a
Коммит
c48339decc
|
@ -1193,7 +1193,9 @@ qla2x00_init_rings(scsi_qla_host_t *ha)
|
||||||
|
|
||||||
DEBUG(printk("scsi(%ld): Issue init firmware.\n", ha->host_no));
|
DEBUG(printk("scsi(%ld): Issue init firmware.\n", ha->host_no));
|
||||||
|
|
||||||
|
if (ha->flags.npiv_supported)
|
||||||
mid_init_cb->count = cpu_to_le16(ha->max_npiv_vports);
|
mid_init_cb->count = cpu_to_le16(ha->max_npiv_vports);
|
||||||
|
|
||||||
mid_init_cb->options = __constant_cpu_to_le16(BIT_1);
|
mid_init_cb->options = __constant_cpu_to_le16(BIT_1);
|
||||||
|
|
||||||
rval = qla2x00_init_firmware(ha, ha->init_cb_size);
|
rval = qla2x00_init_firmware(ha, ha->init_cb_size);
|
||||||
|
|
|
@ -980,7 +980,7 @@ qla2x00_init_firmware(scsi_qla_host_t *ha, uint16_t size)
|
||||||
DEBUG11(printk("qla2x00_init_firmware(%ld): entered.\n",
|
DEBUG11(printk("qla2x00_init_firmware(%ld): entered.\n",
|
||||||
ha->host_no));
|
ha->host_no));
|
||||||
|
|
||||||
if (ha->flags.npiv_supported)
|
if (ha->fw_attributes & BIT_2)
|
||||||
mcp->mb[0] = MBC_MID_INITIALIZE_FIRMWARE;
|
mcp->mb[0] = MBC_MID_INITIALIZE_FIRMWARE;
|
||||||
else
|
else
|
||||||
mcp->mb[0] = MBC_INITIALIZE_FIRMWARE;
|
mcp->mb[0] = MBC_INITIALIZE_FIRMWARE;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче