summaryrefslogtreecommitdiff
path: root/drivers/net/ivshmem-net.c
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2018-03-04 13:16:04 +0100
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commit5d4d17b6e3d8cef454ce1756d2634b4c196416e0 (patch)
treeb02fa94381ce914a39344b7cac5dacdf8ce4bc0f /drivers/net/ivshmem-net.c
parent61d45b1b9b1eca9badd28ca24defb03042accb9e (diff)
ivshmem-net: Fix bogus transition to RESET state
If we are in READY but the remote is still in INIT, we so far fell back to RESET which caused the setup to get stuck. Fix this by only transitioning from READY/RUN to RESET in ivshm_net_state_change if the remote is in RESET as well. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> (cherry picked from commit 4491a937f11ac089767b298747677f649119d4b3)
Diffstat (limited to 'drivers/net/ivshmem-net.c')
-rw-r--r--drivers/net/ivshmem-net.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ivshmem-net.c b/drivers/net/ivshmem-net.c
index 6fa7a6c81bf1..0c503194b4ec 100644
--- a/drivers/net/ivshmem-net.c
+++ b/drivers/net/ivshmem-net.c
@@ -598,7 +598,7 @@ static void ivshm_net_state_change(struct work_struct *work)
if (rstate >= IVSHM_NET_STATE_READY) {
netif_carrier_on(ndev);
ivshm_net_run(ndev);
- } else {
+ } else if (rstate == IVSHM_NET_STATE_RESET) {
netif_carrier_off(ndev);
ivshm_net_do_stop(ndev);
}