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: stable@vger.kernel.org # v4.15.y Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Wright Feng <wright.feng@cypress.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
58eae1416b
commit
cc124d5cc8
|
@ -182,12 +182,9 @@ static int brcmf_c_process_clm_blob(struct brcmf_if *ifp)
|
|||
|
||||
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);
|
||||
|
|
Loading…
Reference in New Issue