mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 10:31:46 +09:00
net: hns3: bugfix for handling mailbox while the command queue reinitialized
[ Upstream commit3c88ed1d79] In a multi-core machine, the mailbox service and reset service will be executed at the same time. The reset service will re-initialize the command queue, before that, the mailbox handler can only get some invalid messages. The HCLGE_STATE_CMD_DISABLE flag means that the command queue is not available and needs to be reinitialized. Therefore, when the mailbox handler recognizes this flag, it should not process the command. Fixes:dde1a86e93("net: hns3: Add mailbox support to PF driver") Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
92cb1b096a
commit
355ec07561
@@ -458,6 +458,12 @@ void hclge_mbx_handler(struct hclge_dev *hdev)
|
||||
|
||||
/* handle all the mailbox requests in the queue */
|
||||
while (!hclge_cmd_crq_empty(&hdev->hw)) {
|
||||
if (test_bit(HCLGE_STATE_CMD_DISABLE, &hdev->state)) {
|
||||
dev_warn(&hdev->pdev->dev,
|
||||
"command queue needs re-initializing\n");
|
||||
return;
|
||||
}
|
||||
|
||||
desc = &crq->desc[crq->next_to_use];
|
||||
req = (struct hclge_mbx_vf_to_pf_cmd *)desc->data;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user