This makes use of the new module_firmware_crashed() to help
annotate when firmware for device drivers crash. When firmware
crashes devices can sometimes become unresponsive, and recovery
sometimes requires a driver unload / reload and in the worst cases
a reboot.

Using a taint flag allows us to annotate when this happens clearly.

Cc: linux-wirel...@vger.kernel.org
Cc: brcm80211-dev-list....@broadcom.com
Cc: brcm80211-dev-l...@cypress.com
Cc: Arend van Spriel <arend.vanspr...@broadcom.com>
Cc: Franky Lin <franky....@broadcom.com>
Cc: Hante Meuleman <hante.meule...@broadcom.com>
Cc: Chi-Hsien Lin <chi-hsien....@cypress.com>
Cc: Wright Feng <wright.f...@cypress.com>
Cc: Kalle Valo <kv...@codeaurora.org>
Cc: "Rafał Miłecki" <ra...@milecki.pl>
Cc: Pieter-Paul Giesberts <pieter-paul.giesbe...@broadcom.com>
Signed-off-by: Luis Chamberlain <mcg...@kernel.org>
---
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c 
b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
index c88655acc78c..d623f83568b3 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
@@ -1393,6 +1393,7 @@ void brcmf_fw_crashed(struct device *dev)
        struct brcmf_pub *drvr = bus_if->drvr;
 
        bphy_err(drvr, "Firmware has halted or crashed\n");
+       module_firmware_crashed();
 
        brcmf_dev_coredump(dev);
 
-- 
2.25.1

Reply via email to