From: Hermes Zhang <[email protected]>
Some versions of the Broadcom firmware for this chip seem to hang
if the PNO feature is enabled when connecting to a dummy or
non-existent AP.
Add a new property to allow the disabling of PNO for devices with
this specific firmware.
Signed-off-by: Hermes Zhang <[email protected]>
---
Notes:
Comments update
drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
index 8623bde5eb70..121a195e4054 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
@@ -11,6 +11,7 @@
#include "core.h"
#include "common.h"
#include "of.h"
+#include "feature.h"
static int brcmf_of_get_country_codes(struct device *dev,
struct brcmf_mp_device *settings)
@@ -102,6 +103,9 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
if (bus_type != BRCMF_BUSTYPE_SDIO)
return;
+ if (of_find_property(np, "brcm,pno-disable", NULL))
+ settings->feature_disable |= BIT(BRCMF_FEAT_PNO);
+
if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
sdio->drive_strength = val;
--
2.30.2
On Sun, Apr 24, 2022 at 10:22:24AM +0800, Hermes Zhang wrote:
> From: Hermes Zhang <[email protected]>
>
> Some versions of the Broadcom firmware for this chip seem to hang
> if the PNO feature is enabled when connecting to a dummy or
> non-existent AP.
> Add a new property to allow the disabling of PNO for devices with
> this specific firmware.
If you know the specific version of the firmware which is broken, why
do you need a DT property? Why not just check the firmware version and
disable it automatically?
It does not seem like you are describing hardware here, which is what
DT is for.
Andrew