]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: libwx: Fix FW mailbox reply timeout
authorJiawen Wu <jiawenwu@trustnetic.com>
Tue, 13 May 2025 02:10:08 +0000 (10:10 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 15 May 2025 02:26:55 +0000 (19:26 -0700)
For the new SW-FW interaction, the timeout waiting for the firmware to
return is too short. So that some mailbox commands cannot be completed.
Use the 'timeout' parameter instead of fixed timeout value for flexible
configuration.

Fixes: 2e5af6b2ae85 ("net: txgbe: Add basic support for new AML devices")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/5D5BDE3EA501BDB8+20250513021009.145708-3-jiawenwu@trustnetic.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/wangxun/libwx/wx_hw.c

index aed45abafb1b7977b993b045bf707c47c1454beb..ccdc57e9b0d56c70e0a670484e1ab7dde026fad3 100644 (file)
@@ -434,8 +434,8 @@ static int wx_host_interface_command_r(struct wx *wx, u32 *buffer,
        wr32m(wx, WX_SW2FW_MBOX_CMD, WX_SW2FW_MBOX_CMD_VLD, WX_SW2FW_MBOX_CMD_VLD);
 
        /* polling reply from FW */
-       err = read_poll_timeout(wx_poll_fw_reply, reply, reply, 1000, 50000,
-                               true, wx, buffer, send_cmd);
+       err = read_poll_timeout(wx_poll_fw_reply, reply, reply, 2000,
+                               timeout * 1000, true, wx, buffer, send_cmd);
        if (err) {
                wx_err(wx, "Polling from FW messages timeout, cmd: 0x%x, index: %d\n",
                       send_cmd, wx->swfw_index);