All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] wifi: brcmfmac: Detect corner error case earlier with log
@ 2023-06-01  5:40 Neal Sidhwaney
  2023-06-02  5:32 ` Kalle Valo
  0 siblings, 1 reply; 3+ messages in thread
From: Neal Sidhwaney @ 2023-06-01  5:40 UTC (permalink / raw)
  To: linux-wireless; +Cc: brcm80211-dev-list.pdl, Neal Sidhwaney

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>
---

 v2: Add const to variable holding error code & fix patch submission

 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..39f3d913c1bc 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;
+	const 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-03  6:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-01  5:40 [PATCH v2] wifi: brcmfmac: Detect corner error case earlier with log Neal Sidhwaney
2023-06-02  5:32 ` Kalle Valo
2023-06-03  6:07   ` 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.