Re: [PATCH v3] fix qla2xxx regression on sparc64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Aug 27, 2020, at 3:27 PM, Rene Rebe <rene@xxxxxxxxxxxxx> wrote:
> 
> Commit 98aee70d19a7e3203649fa2078464e4f402a0ad8 in 2014 broke qla2xxx
> on sparc64, e.g. as in the Sun Blade 1000 / 2000. Unbreak by partial
> revert to fix endianess in nvram firmware default initialization. Also
> mark the second frame_payload_size in nvram_t __le16 to avoid new
> sparse warnings.
> 
> Fixes: 98aee70d19a7e ("qla2xxx: Add endianizer to max_payload_size modifier.")
> Signed-off-by: René Rebe <rene@xxxxxxxxxxxx>
> 
> diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h
> index 8c92af5e4390..00782e859ef8 100644
> --- a/drivers/scsi/qla2xxx/qla_def.h
> +++ b/drivers/scsi/qla2xxx/qla_def.h
> @@ -1626,7 +1626,7 @@ typedef struct {
> 	 */
> 	uint8_t	 firmware_options[2];
> 
> -	uint16_t frame_payload_size;
> +	__le16	frame_payload_size;
> 	__le16	max_iocb_allocation;
> 	__le16	execution_throttle;
> 	uint8_t	 retry_count;
> diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
> index 57a2d76aa691..0916c33eb076 100644
> --- a/drivers/scsi/qla2xxx/qla_init.c
> +++ b/drivers/scsi/qla2xxx/qla_init.c
> @@ -4603,18 +4603,18 @@ qla2x00_nvram_config(scsi_qla_host_t *vha)
> 			nv->firmware_options[1] = BIT_7 | BIT_5;
> 			nv->add_firmware_options[0] = BIT_5;
> 			nv->add_firmware_options[1] = BIT_5 | BIT_4;
> -			nv->frame_payload_size = 2048;
> +			nv->frame_payload_size = cpu_to_le16(2048);
> 			nv->special_options[1] = BIT_7;
> 		} else if (IS_QLA2200(ha)) {
> 			nv->firmware_options[0] = BIT_2 | BIT_1;
> 			nv->firmware_options[1] = BIT_7 | BIT_5;
> 			nv->add_firmware_options[0] = BIT_5;
> 			nv->add_firmware_options[1] = BIT_5 | BIT_4;
> -			nv->frame_payload_size = 1024;
> +			nv->frame_payload_size = cpu_to_le16(1024);
> 		} else if (IS_QLA2100(ha)) {
> 			nv->firmware_options[0] = BIT_3 | BIT_1;
> 			nv->firmware_options[1] = BIT_5;
> -			nv->frame_payload_size = 1024;
> +			nv->frame_payload_size = cpu_to_le16(1024);
> 		}
> 
> 		nv->max_iocb_allocation = cpu_to_le16(256);
> 
> 
> -- 
>  René Rebe, ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
>  https://urldefense.com/v3/__https://exactcode.com__;!!GqivPVa7Brio!OiHyjIceMlSLvY201K45s3J5OfycTE7Z8SH-AOktRAnXCmsreUUnZY8iX7nQVshbmnOO$  | https://urldefense.com/v3/__https://t2sde.org__;!!GqivPVa7Brio!OiHyjIceMlSLvY201K45s3J5OfycTE7Z8SH-AOktRAnXCmsreUUnZY8iX7nQVlPyHRLL$  | https://urldefense.com/v3/__https://rene.rebe.de__;!!GqivPVa7Brio!OiHyjIceMlSLvY201K45s3J5OfycTE7Z8SH-AOktRAnXCmsreUUnZY8iX7nQVulmVRVj$ 

Looks Good.

Reviewed-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx>

--
Himanshu Madhani	 Oracle Linux Engineering





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux