mirror of
https://github.com/torvalds/linux.git
synced 2026-05-22 06:01:53 +02:00
scsi: lpfc: Fix incorrect request len mbox field when setting trunking via sysfs
When setting trunk modes through sysfs, the SLI_CONFIG mailbox command's command payload length is incorrectly hardcoded to 12 bytes. SLI_CONFIG's payload length field should be specified large enough to encompass both the submailbox command header and the submailbox request itself. Thus, replace the hardcoded 12 bytes with a clearer calculation by way of sizeof(struct lpfc_mbx_set_trunk_mode) - sizeof(struct lpfc_sli4_cfg_mhdr). Signed-off-by: Justin Tee <justin.tee@broadcom.com> Link: https://lore.kernel.org/r/20240628172011.25921-7-justintee8345@gmail.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
ede596b143
commit
f65f31ac12
|
|
@ -1831,6 +1831,7 @@ static int
|
|||
lpfc_set_trunking(struct lpfc_hba *phba, char *buff_out)
|
||||
{
|
||||
LPFC_MBOXQ_t *mbox = NULL;
|
||||
u32 payload_len;
|
||||
unsigned long val = 0;
|
||||
char *pval = NULL;
|
||||
int rc = 0;
|
||||
|
|
@ -1869,9 +1870,11 @@ lpfc_set_trunking(struct lpfc_hba *phba, char *buff_out)
|
|||
if (!mbox)
|
||||
return -ENOMEM;
|
||||
|
||||
payload_len = sizeof(struct lpfc_mbx_set_trunk_mode) -
|
||||
sizeof(struct lpfc_sli4_cfg_mhdr);
|
||||
lpfc_sli4_config(phba, mbox, LPFC_MBOX_SUBSYSTEM_FCOE,
|
||||
LPFC_MBOX_OPCODE_FCOE_FC_SET_TRUNK_MODE,
|
||||
12, LPFC_SLI4_MBX_EMBED);
|
||||
payload_len, LPFC_SLI4_MBX_EMBED);
|
||||
|
||||
bf_set(lpfc_mbx_set_trunk_mode,
|
||||
&mbox->u.mqe.un.set_trunk_mode,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user