summaryrefslogtreecommitdiffstats
path: root/meta-agl-devel/meta-agl-jailhouse/recipes-kernel/linux/linux/0021-ivshmem-net-Fix-stuck-state-machine-during-setup.patch
blob: 4e40341e1e4d62192ba8b81d13f7f593a10b0aef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From b8d8821cfa8aa53aa29c0b230330afcd79ee7f60 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 21/32] 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>
---
 drivers/net/ivshmem-net.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ivshmem-net.c b/drivers/net/ivshmem-net.c
index c52727ef40c1..9f307ec4d677 100644
--- a/drivers/net/ivshmem-net.c
+++ b/drivers/net/ivshmem-net.c
@@ -911,6 +911,7 @@ static int ivshm_net_probe(struct pci_dev *pdev,
 		writel(IVSHMEM_INTX_ENABLE, &in->ivshm_regs->intxctrl);
 
 	writel(IVSHM_NET_STATE_RESET, &in->ivshm_regs->lstate);
+	ivshm_net_check_state(ndev);
 
 	return 0;
 
-- 
2.11.0