Message ID | 1516083246-16013-1-git-send-email-wright.feng@cypress.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
On 1/16/2018 7:14 AM, Wright Feng wrote: > 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(). Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com> > Signed-off-by: Wright Feng <wright.feng@cypress.com> > --- > v2: remove retry from patch v1 > v3: remove redundant log print > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c > index 6a59d06..b0ef0e7 100644 > --- 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(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(%d), device may have limited channels available\n", > + err); > + return 0; Looking good. However, let's nitpick (my bad). Please make it "..available (err=%d), ...". Regards, Arend
On 1/16/2018 9:55 AM, Arend van Spriel wrote: > On 1/16/2018 7:14 AM, Wright Feng wrote: >> 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(). Forgot to mention, but also please add following Cc: as it will probably not make it before the merge window opens. 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> >> --- >> v2: remove retry from patch v1 >> v3: remove redundant log print >> --- >> drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 9 +++------ >> 1 file changed, 3 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c >> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c >> index 6a59d06..b0ef0e7 100644 >> --- 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(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(%d), device may have >> limited channels available\n", >> + err); >> + return 0; > > Looking good. However, let's nitpick (my bad). Please make it > "..available (err=%d), ...". > > Regards, > Arend >
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c index 6a59d06..b0ef0e7 100644 --- 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(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(%d), device may have limited channels available\n", + err); + return 0; } chunk_buf = kzalloc(sizeof(*chunk_buf) + MAX_CHUNK_LEN - 1, GFP_KERNEL);
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(). Signed-off-by: Wright Feng <wright.feng@cypress.com> --- v2: remove retry from patch v1 v3: remove redundant log print --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)