Commit 4e4269eb authored by Luo bin's avatar Luo bin Committed by Jakub Kicinski

hinic: bump up the timeout of SET_FUNC_STATE cmd

We free memory regardless of the return value of SET_FUNC_STATE
cmd in hinic_close function to avoid memory leak and this cmd may
timeout when fw is busy with handling other cmds, so we bump up the
timeout of this cmd to ensure it won't return failure.

Fixes: 00e57a6d ("net-next/hinic: Add Tx operation")
Signed-off-by: default avatarLuo bin <luobin9@huawei.com>
Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent cc8e58f8
...@@ -47,6 +47,8 @@ ...@@ -47,6 +47,8 @@
#define MGMT_MSG_TIMEOUT 5000 #define MGMT_MSG_TIMEOUT 5000
#define SET_FUNC_PORT_MBOX_TIMEOUT 30000
#define SET_FUNC_PORT_MGMT_TIMEOUT 25000 #define SET_FUNC_PORT_MGMT_TIMEOUT 25000
#define mgmt_to_pfhwdev(pf_mgmt) \ #define mgmt_to_pfhwdev(pf_mgmt) \
...@@ -361,16 +363,20 @@ int hinic_msg_to_mgmt(struct hinic_pf_to_mgmt *pf_to_mgmt, ...@@ -361,16 +363,20 @@ int hinic_msg_to_mgmt(struct hinic_pf_to_mgmt *pf_to_mgmt,
return -EINVAL; return -EINVAL;
} }
if (cmd == HINIC_PORT_CMD_SET_FUNC_STATE) if (HINIC_IS_VF(hwif)) {
timeout = SET_FUNC_PORT_MGMT_TIMEOUT; if (cmd == HINIC_PORT_CMD_SET_FUNC_STATE)
timeout = SET_FUNC_PORT_MBOX_TIMEOUT;
if (HINIC_IS_VF(hwif))
return hinic_mbox_to_pf(pf_to_mgmt->hwdev, mod, cmd, buf_in, return hinic_mbox_to_pf(pf_to_mgmt->hwdev, mod, cmd, buf_in,
in_size, buf_out, out_size, 0); in_size, buf_out, out_size, timeout);
else } else {
if (cmd == HINIC_PORT_CMD_SET_FUNC_STATE)
timeout = SET_FUNC_PORT_MGMT_TIMEOUT;
return msg_to_mgmt_sync(pf_to_mgmt, mod, cmd, buf_in, in_size, return msg_to_mgmt_sync(pf_to_mgmt, mod, cmd, buf_in, in_size,
buf_out, out_size, MGMT_DIRECT_SEND, buf_out, out_size, MGMT_DIRECT_SEND,
MSG_NOT_RESP, timeout); MSG_NOT_RESP, timeout);
}
} }
static void recv_mgmt_msg_work_handler(struct work_struct *work) static void recv_mgmt_msg_work_handler(struct work_struct *work)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment