41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From b8248236e92790ac635caeb4156e46ea2417e037 Mon Sep 17 00:00:00 2001
|
|
From: Franky Lin <franky.lin@broadcom.com>
|
|
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 <arend.vanspriel@broadcom.com>
|
|
Signed-off-by: Franky Lin <franky.lin@broadcom.com>
|
|
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
|
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
|
[rmilecki: add sdiod variable and use func[1]]
|
|
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
|
---
|
|
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) {
|