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 aed45ab..ccdc57e 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);