> On Dec 1, 2020, at 2:27 AM, Nilesh Javali <njavali@xxxxxxxxxxx> wrote: > > From: Arun Easi <aeasi@xxxxxxxxxxx> > > Flash update failed due to missing endian conversion in FLT region access > as well as in checksum computation. > > Signed-off-by: Arun Easi <aeasi@xxxxxxxxxxx> > Signed-off-by: Nilesh Javali <njavali@xxxxxxxxxxx> > --- > drivers/scsi/qla2xxx/qla_sup.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/scsi/qla2xxx/qla_sup.c b/drivers/scsi/qla2xxx/qla_sup.c > index 0f92e9a044dc..f771fabcba59 100644 > --- a/drivers/scsi/qla2xxx/qla_sup.c > +++ b/drivers/scsi/qla2xxx/qla_sup.c > @@ -2634,14 +2634,14 @@ qla28xx_extract_sfub_and_verify(struct scsi_qla_host *vha, uint32_t *buf, > sizeof(struct secure_flash_update_block)); > > for (i = 0; i < (sizeof(struct secure_flash_update_block) >> 2); i++) > - check_sum += p[i]; > + check_sum += le32_to_cpu(p[i]); > > check_sum = (~check_sum) + 1; > > - if (check_sum != p[i]) { > + if (check_sum != le32_to_cpu(p[i])) { > ql_log(ql_log_warn, vha, 0x7097, > "SFUB checksum failed, 0x%x, 0x%x\n", > - check_sum, p[i]); > + check_sum, le32_to_cpu(p[i])); > return QLA_COMMAND_ERROR; > } > > @@ -2721,7 +2721,7 @@ qla28xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, > if (ha->flags.secure_adapter && region.attribute) { > > ql_log(ql_log_warn + ql_dbg_verbose, vha, 0xffff, > - "Region %x is secure\n", region.code); > + "Region %x is secure\n", le16_to_cpu(region.code)); > > switch (le16_to_cpu(region.code)) { > case FLT_REG_FW: > @@ -2775,7 +2775,7 @@ qla28xx_write_flash_data(scsi_qla_host_t *vha, uint32_t *dwptr, uint32_t faddr, > default: > ql_log(ql_log_warn + ql_dbg_verbose, vha, > 0xffff, "Secure region %x not supported\n", > - region.code); > + le16_to_cpu(region.code)); > rval = QLA_COMMAND_ERROR; > goto done; > } > -- > 2.19.0.rc0 > Looks Good. Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> -- Himanshu Madhani Oracle Linux Engineering