mac80211: brcmfmac: backport important changes from the 4.12
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / 319-v4.12-0005-brcmfmac-restore-bus-state-when-enter_D3-fails.patch
1 From 49fe9b59f0e9b750f173fbe44637c436ba1030d2 Mon Sep 17 00:00:00 2001
2 From: Arend Van Spriel <arend.vanspriel@broadcom.com>
3 Date: Tue, 28 Mar 2017 11:43:27 +0100
4 Subject: [PATCH] brcmfmac: restore bus state when enter_D3 fails
5
6 In brcmf_pcie_suspend() we inform the firmware on the device that
7 it will enter in D3 state. Before this is done we already bring down
8 the bus state. However, When entering D3 fails we abort the suspend
9 and the bus state need to be restored.
10
11 Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
12 Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
13 Reviewed-by: Franky Lin <franky.lin@broadcom.com>
14 Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
15 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
16 ---
17 drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 1 +
18 1 file changed, 1 insertion(+)
19
20 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
21 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
22 @@ -1877,6 +1877,7 @@ static int brcmf_pcie_pm_enter_D3(struct
23 BRCMF_PCIE_MBDATA_TIMEOUT);
24 if (!devinfo->mbdata_completed) {
25 brcmf_err("Timeout on response for entering D3 substate\n");
26 + brcmf_bus_change_state(bus, BRCMF_BUS_UP);
27 return -EIO;
28 }
29