Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc124d5c authored by Wright Feng's avatar Wright Feng Committed by Kalle Valo
Browse files

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: default avatarArend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: default avatarWright Feng <wright.feng@cypress.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 58eae141
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -182,13 +182,10 @@ 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");
		brcmf_info("no clm_blob available(err=%d), device may have limited channels available\n",
			   err);
		return 0;
	}
		brcmf_err("request CLM blob file failed (%d)\n", err);
		return err;
	}

	chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN - 1, GFP_KERNEL);
	if (!chunk_buf) {