[PATCH v3] brcmfmac: of: introduce new property to allow disable PNO

Hermes Zhang posted 1 patch 4 years ago
drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH v3] brcmfmac: of: introduce new property to allow disable PNO
Posted by Hermes Zhang 4 years ago
From: Hermes Zhang <chenhuiz@axis.com>

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 <chenhuiz@axis.com>
---

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
Re: [PATCH v3] brcmfmac: of: introduce new property to allow disable PNO
Posted by Andrew Lunn 4 years ago
On Sun, Apr 24, 2022 at 10:22:24AM +0800, Hermes Zhang wrote:
> From: Hermes Zhang <chenhuiz@axis.com>
> 
> 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
Re: [PATCH v3] brcmfmac: of: introduce new property to allow disable PNO
Posted by Kalle Valo 4 years ago
Hermes Zhang <chenhui.zhang@axis.com> writes:

> From: Hermes Zhang <chenhuiz@axis.com>
>
> 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 <chenhuiz@axis.com>
> ---
>
> Notes:
>     Comments update
>
>  drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 4 ++++

This is still missing the bindings documentation and ack from the DT
maintainers. You also need to CC the devicetree list:

https://www.kernel.org/doc/html/latest/devicetree/bindings/submitting-patches.html

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches