| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | From f9c647d5df14aab2ce40b77a2d8daf9e2065a165 Mon Sep 17 00:00:00 2001 |
| 2 | From: Jan Kiszka <jan.kiszka@siemens.com> |
| 3 | Date: Sun, 4 Mar 2018 13:16:04 +0100 |
| 4 | Subject: [PATCH] ivshmem-net: Fix bogus transition to RESET state |
| 5 | |
| 6 | If we are in READY but the remote is still in INIT, we so far fell back |
| 7 | to RESET which caused the setup to get stuck. Fix this by only |
| 8 | transitioning from READY/RUN to RESET in ivshm_net_state_change if the |
| 9 | remote is in RESET as well. |
| 10 | |
| 11 | Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> |
| 12 | (cherry picked from commit b58915e11eba2643d5c68ea0328823a62c21dc49) |
| 13 | --- |
| 14 | drivers/net/ivshmem-net.c | 2 +- |
| 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
| 16 | |
| 17 | --- a/drivers/net/ivshmem-net.c |
| 18 | +++ b/drivers/net/ivshmem-net.c |
| 19 | @@ -598,7 +598,7 @@ static void ivshm_net_state_change(struc |
| 20 | if (rstate >= IVSHM_NET_STATE_READY) { |
| 21 | netif_carrier_on(ndev); |
| 22 | ivshm_net_run(ndev); |
| 23 | - } else { |
| 24 | + } else if (rstate == IVSHM_NET_STATE_RESET) { |
| 25 | netif_carrier_off(ndev); |
| 26 | ivshm_net_do_stop(ndev); |
| 27 | } |