* [PATCH] wifi: brcmfmac: Detect corner error case earlier with log
@ 2023-06-01 2:23 Neal Sidhwaney
2023-06-01 4:25 ` Kalle Valo
0 siblings, 1 reply; 3+ messages in thread
From: Neal Sidhwaney @ 2023-06-01 2:23 UTC (permalink / raw)
To: linux-wireless; +Cc: brcm80211-dev-list.pdl
In some corner cases, an I/O read can fail and return -1, and this
patch detects this slightly earlier than is done today and logs an
appropriate message.
Signed-off-by: Neal Sidhwaney <nealsid@gmail.com>
---
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
index 9f9bf08a70bb..9b38c6f2f37f 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c
@@ -972,6 +972,7 @@ static int brcmf_chip_recognition(struct
brcmf_chip_priv *ci)
u32 regdata;
u32 socitype;
int ret;
+ u32 READ_FAILED = 0xFFFFFFFF;
/* Get CC core rev
* Chipid is assume to be at offset 0 from SI_ENUM_BASE
@@ -980,6 +981,11 @@ static int brcmf_chip_recognition(struct
brcmf_chip_priv *ci)
*/
regdata = ci->ops->read32(ci->ctx,
CORE_CC_REG(ci->pub.enum_base, chipid));
+ if (regdata == READ_FAILED) {
+ brcmf_err("MMIO read failed: 0x%08x\n", regdata);
+ return -ENODEV;
+ }
+
ci->pub.chip = regdata & CID_ID_MASK;
ci->pub.chiprev = (regdata & CID_REV_MASK) >> CID_REV_SHIFT;
socitype = (regdata & CID_TYPE_MASK) >> CID_TYPE_SHIFT;
--
2.40.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-06-01 5:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-01 2:23 [PATCH] wifi: brcmfmac: Detect corner error case earlier with log Neal Sidhwaney
2023-06-01 4:25 ` Kalle Valo
2023-06-01 5:43 ` Neal Sidhwaney
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.