12345678910111213141516171819202122232425262728293031323334353637383940 |
- From cc124d5cc8d81985c3511892d7a6d546552ff754 Mon Sep 17 00:00:00 2001
- From: Wright Feng <[email protected]>
- Date: Tue, 16 Jan 2018 17:26:50 +0800
- Subject: [PATCH] brcmfmac: fix CLM load error for legacy chips when user
- helper is enabled
- For legacy chips without CLM blob files, kernel with user helper function
- returns -EAGAIN when we request_firmware(), and then driver got failed
- when bringing up legacy chips. We expect the CLM blob file for legacy chip
- is not existence in firmware path, but the -ENOENT error is transferred to
- -EAGAIN in firmware_class.c with user helper.
- Because of that, we continue with CLM data currently present in firmware
- if getting error from doing request_firmware().
- Cc: [email protected] # v4.15.y
- Reviewed-by: Arend van Spriel <[email protected]>
- Signed-off-by: Wright Feng <[email protected]>
- Signed-off-by: Kalle Valo <[email protected]>
- ---
- drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
- --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
- +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
- @@ -182,12 +182,9 @@ static int brcmf_c_process_clm_blob(stru
-
- err = request_firmware(&clm, clm_name, dev);
- if (err) {
- - if (err == -ENOENT) {
- - brcmf_dbg(INFO, "continue with CLM data currently present in firmware\n");
- - return 0;
- - }
- - brcmf_err("request CLM blob file failed (%d)\n", err);
- - return err;
- + brcmf_info("no clm_blob available(err=%d), device may have limited channels available\n",
- + err);
- + return 0;
- }
-
- chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN - 1, GFP_KERNEL);
|