lkml.org 
[lkml]   [2019]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.0 245/262] brcmfmac: Use firmware_request_nowarn for the clm_blob
    Date
    From: Hans de Goede <hdegoede@redhat.com>

    [ Upstream commit 4ad0be160544ffbdafb7cec39bb8e6dd0a97317a ]

    The linux-firmware brcmfmac firmware files contain an embedded table with
    per country allowed channels and strength info.

    For recent hardware these versions of the firmware are specially build for
    linux-firmware, the firmware files directly available from Cypress rely on
    a separate clm_blob file for this info.

    For some unknown reason Cypress refuses to provide the standard firmware
    files + clm_blob files it uses elsewhere for inclusion into linux-firmware,
    instead relying on these special builds with the clm_blob info embedded.
    This means that the linux-firmware firmware versions often lag behind,
    but I digress.

    The brcmfmac driver does support the separate clm_blob file and always
    tries to load this. Currently we use request_firmware for this. This means
    that on any standard install, using the standard combo of linux-kernel +
    linux-firmware, we will get a warning:
    "Direct firmware load for ... failed with error -2"

    On top of this, brcmfmac itself prints: "no clm_blob available (err=-2),
    device may have limited channels available".

    This commit switches to firmware_request_nowarn, fixing almost any brcmfmac
    device logging the warning (it leaves the brcmfmac info message in place).

    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
    index 1f1e95a15a17..0ce1d8174e6d 100644
    --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
    +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
    @@ -149,7 +149,7 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
    return err;
    }

    - err = request_firmware(&clm, clm_name, bus->dev);
    + err = firmware_request_nowarn(&clm, clm_name, bus->dev);
    if (err) {
    brcmf_info("no clm_blob available (err=%d), device may have limited channels available\n",
    err);
    --
    2.19.1
    \
     
     \ /
      Last update: 2019-03-27 20:14    [W:4.043 / U:0.252 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site