Commit a72d56b2 authored by James Smart's avatar James Smart Committed by Martin K. Petersen
Browse files

scsi: lpfc: Correct fw download error message



In situations when the firmware image in inappropriate for the chip
type, initial validation checks were light, allowing the checks to pass,
thus allowing the firmware to be downloaded.  Eventually, after the
download, the chip rejects the firmware but it is logged as a generic
firmware download error.

Revise the initial checks to validate the image vs asic type so that the
correct message is displayed and the download process is avoided.

Signed-off-by: default avatarDick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: default avatarJames Smart <james.smart@broadcom.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 48f8fdb4
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4628,6 +4628,9 @@ union lpfc_wqe128 {
	struct send_frame_wqe send_frame;
};

#define MAGIC_NUMER_G6 0xFEAA0003
#define MAGIC_NUMER_G7 0xFEAA0005

struct lpfc_grp_hdr {
	uint32_t size;
	uint32_t magic_number;
+5 −1
Original line number Diff line number Diff line
@@ -11349,7 +11349,11 @@ lpfc_log_write_firmware_error(struct lpfc_hba *phba, uint32_t offset,
	uint32_t magic_number, uint32_t ftype, uint32_t fid, uint32_t fsize,
	const struct firmware *fw)
{
	if (offset == ADD_STATUS_FW_NOT_SUPPORTED)
	if ((offset == ADD_STATUS_FW_NOT_SUPPORTED) ||
	    (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G6_FC &&
	     magic_number != MAGIC_NUMER_G6) ||
	    (phba->pcidev->device == PCI_DEVICE_ID_LANCER_G7_FC &&
	     magic_number != MAGIC_NUMER_G7))
		lpfc_printf_log(phba, KERN_ERR, LOG_INIT,
			"3030 This firmware version is not supported on "
			"this HBA model. Device:%x Magic:%x Type:%x "