12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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) {
|