mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
scsi: qla2xxx: Fix regression on sparc64
Commit98aee70d19
("qla2xxx: Add endianizer to max_payload_size modifier.") in 2014 broke qla2xxx on sparc64, e.g. as in the Sun Blade 1000 / 2000. Unbreak by partial revert to fix endianness in nvram firmware default initialization. Also mark the second frame_payload_size in nvram_t __le16 to avoid new sparse warnings. Link: https://lore.kernel.org/r/20200827.222729.1875148247374704975.rene@exactcode.com Fixes:98aee70d19
("qla2xxx: Add endianizer to max_payload_size modifier.") Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Acked-by: Arun Easi <aeasi@marvell.com> Signed-off-by: René Rebe <rene@exactcode.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
5a5b80f985
commit
2a87d485c4
2 changed files with 4 additions and 4 deletions
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue