scsi: csiostor: add check for supported fw version

T6 FCoE support is added in fw version 1.16.45.0 so return error if fw
version < 1.16.45.0 for T6 adapters.

Signed-off-by: Varun Prakash <varun@chelsio.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Varun Prakash 2017-06-01 12:48:33 +05:30 committed by Martin K. Petersen
parent 3011b48268
commit 96e6c633ec
2 changed files with 20 additions and 0 deletions

View file

@ -2068,6 +2068,17 @@ csio_hw_flash_fw(struct csio_hw *hw, int *reset)
return ret;
}
static int csio_hw_check_fwver(struct csio_hw *hw)
{
if (csio_is_t6(hw->pdev->device & CSIO_HW_CHIP_MASK) &&
(hw->fwrev < CSIO_MIN_T6_FW)) {
csio_hw_print_fw_version(hw, "T6 unsupported fw");
return -1;
}
return 0;
}
/*
* csio_hw_configure - Configure HW
* @hw - HW module
@ -2135,6 +2146,10 @@ csio_hw_configure(struct csio_hw *hw)
if (rv != 0)
goto out;
rv = csio_hw_check_fwver(hw);
if (rv < 0)
goto out;
/* If the firmware doesn't support Configuration Files,
* return an error.
*/
@ -2162,6 +2177,10 @@ csio_hw_configure(struct csio_hw *hw)
}
} else {
rv = csio_hw_check_fwver(hw);
if (rv < 0)
goto out;
if (hw->fw_state == CSIO_DEV_STATE_INIT) {
hw->flags |= CSIO_HWF_USING_SOFT_PARAMS;

View file

@ -71,6 +71,7 @@
#define CSIO_MAX_CMD_PER_LUN 32
#define CSIO_MAX_DDP_BUF_SIZE (1024 * 1024)
#define CSIO_MAX_SECTOR_SIZE 128
#define CSIO_MIN_T6_FW 0x01102D00 /* FW 1.16.45.0 */
/* Interrupts */
#define CSIO_EXTRA_MSI_IQS 2 /* Extra iqs for INTX/MSI mode