mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
27 lines
956 B
Diff
27 lines
956 B
Diff
|
From 74de99b0e1df634949c45df1c370d458e6a3c98a Mon Sep 17 00:00:00 2001
|
||
|
From: Jan Kiszka <jan.kiszka@siemens.com>
|
||
|
Date: Sun, 1 Jan 2017 15:54:55 +0100
|
||
|
Subject: [PATCH] ivshmem-net: Fix stuck state machine during setup
|
||
|
|
||
|
If the remote side is already in INIT state (or even higher) and has a
|
||
|
cached rstate of RESET, we won't make progress when signaling RESET
|
||
|
again because the remote side won't send a state update. Fix this by
|
||
|
enforcing a local check after probe completion.
|
||
|
|
||
|
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
|
||
|
(cherry picked from commit fceed9d0ab2486589c57c0793fbfbca4832442b9)
|
||
|
---
|
||
|
drivers/net/ivshmem-net.c | 1 +
|
||
|
1 file changed, 1 insertion(+)
|
||
|
|
||
|
--- a/drivers/net/ivshmem-net.c
|
||
|
+++ b/drivers/net/ivshmem-net.c
|
||
|
@@ -911,6 +911,7 @@ static int ivshm_net_probe(struct pci_de
|
||
|
writel(IVSHMEM_INTX_ENABLE, &in->ivshm_regs->intxctrl);
|
||
|
|
||
|
writel(IVSHM_NET_STATE_RESET, &in->ivshm_regs->lstate);
|
||
|
+ ivshm_net_check_state(ndev);
|
||
|
|
||
|
return 0;
|
||
|
|