From b8248236e92790ac635caeb4156e46ea2417e037 Mon Sep 17 00:00:00 2001 From: Franky Lin Date: Wed, 16 May 2018 14:12:03 +0200 Subject: [PATCH] brcmfmac: trigger memory dump on SDIO firmware halt message Attempt to dump dongle memory for debug upon receiving firmware halt message through dongle to host mail box interrupt. Reviewed-by: Arend van Spriel Signed-off-by: Franky Lin Signed-off-by: Arend van Spriel Signed-off-by: Kalle Valo [rmilecki: add sdiod variable and use func[1]] Signed-off-by: Rafał Miłecki --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -1079,6 +1079,7 @@ static void brcmf_sdio_get_console_addr( static u32 brcmf_sdio_hostmail(struct brcmf_sdio *bus) { + struct brcmf_sdio_dev *sdiod = bus->sdiodev; u32 intstatus = 0; u32 hmb_data; u8 fcbits; @@ -1096,8 +1097,10 @@ static u32 brcmf_sdio_hostmail(struct br bus->sdcnt.f1regdata += 2; /* dongle indicates the firmware has halted/crashed */ - if (hmb_data & HMB_DATA_FWHALT) + if (hmb_data & HMB_DATA_FWHALT) { brcmf_err("mailbox indicates firmware halted\n"); + brcmf_dev_coredump(&sdiod->func[1]->dev); + } /* Dongle recomposed rx frames, accept them again */ if (hmb_data & HMB_DATA_NAKHANDLED) {