diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/809-jailhouse-0009-ivshmem-net-Fix-stuck-state-machine-during-setup.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/809-jailhouse-0009-ivshmem-net-Fix-stuck-state-machine-during-setup.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/809-jailhouse-0009-ivshmem-net-Fix-stuck-state-machine-during-setup.patch b/target/linux/layerscape/patches-5.4/809-jailhouse-0009-ivshmem-net-Fix-stuck-state-machine-during-setup.patch new file mode 100644 index 0000000000..fc23dc45aa --- /dev/null +++ b/target/linux/layerscape/patches-5.4/809-jailhouse-0009-ivshmem-net-Fix-stuck-state-machine-during-setup.patch @@ -0,0 +1,26 @@ +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; + |