[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0b277149-867b-8acf-30d8-2cd68ba24c99@gmail.com>
Date: Fri, 6 Jan 2023 17:21:24 +0100
From: Arend Van Spriel <aspriel@...il.com>
To: "Ivan T. Ivanov" <iivanov@...e.de>, marcan@...can.st
Cc: franky.lin@...adcom.com, hante.meuleman@...adcom.com,
rmk+kernel@...linux.org.uk, stefan.wahren@...e.com,
pbrobinson@...il.com, jforbes@...oraproject.org, kvalo@...nel.org,
davem@...emloft.net, devicetree@...r.kernel.org,
edumazet@...gle.com, krzysztof.kozlowski+dt@...aro.org,
kuba@...nel.org, pabeni@...hat.com, robh+dt@...nel.org,
linux-arm-kernel@...ts.infradead.org,
linux-wireless@...r.kernel.org, netdev@...r.kernel.org,
brcm80211-dev-list.pdl@...adcom.com,
SHA-cyfmac-dev-list@...ineon.com, stable@...r.kernel.org
Subject: Re: [PATCH v2] brcmfmac: Prefer DT board type over DMI board type
On 1/6/2023 2:19 PM, Ivan T. Ivanov wrote:
> The introduction of support for Apple board types inadvertently changed
> the precedence order, causing hybrid SMBIOS+DT platforms to look up the
> firmware using the DMI information instead of the device tree compatible
> to generate the board type. Revert back to the old behavior,
> as affected platforms use firmwares named after the DT compatible.
>
> Fixes: 7682de8b3351 ("wifi: brcmfmac: of: Fetch Apple properties")
>
> [1] https://bugzilla.opensuse.org/show_bug.cgi?id=1206697#c13
>
> Cc: stable@...r.kernel.org
> Signed-off-by: Ivan T. Ivanov <iivanov@...e.de>
Looks good to me. I do have a question about the devicetree node for
brcmfmac. The driver does a compatible check against
"brcm,bcm4329-fmac". I actually expect all devicetree specifications to
use this. That said I noticed the check for it in brcmf_of_probe()
should be moved so it is the first check done.
Reviewed-by: Arend van Spriel <arend.vanspriel@...adcom.com>
> Reviewed-by: Hector Martin <marcan@...can.st>
> ---
> Changes since v1
> Rewrite commit message according feedback.
> https://lore.kernel.org/all/20230106072746.29516-1-iivanov@suse.de/
>
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
> index a83699de01ec..fdd0c9abc1a1 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
> @@ -79,7 +79,8 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
> /* Apple ARM64 platforms have their own idea of board type, passed in
> * via the device tree. They also have an antenna SKU parameter
> */
> - if (!of_property_read_string(np, "brcm,board-type", &prop))
> + err = of_property_read_string(np, "brcm,board-type", &prop);
> + if (!err)
> settings->board_type = prop;
>
> if (!of_property_read_string(np, "apple,antenna-sku", &prop))
> @@ -87,7 +88,7 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
>
> /* Set board-type to the first string of the machine compatible prop */
> root = of_find_node_by_path("/");
> - if (root && !settings->board_type) {
> + if (root && err) {
> char *board_type;
> const char *tmp;
>
Powered by blists - more mailing lists