Message ID | 1529693004-20569-2-git-send-email-arend.vanspriel@broadcom.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Arend Van Spriel <arend.vanspriel@broadcom.com> wrote: > Commit 19f505aa3ae0 ("brcmfmac: detect firmware support for monitor > interface") introduced a fallback mechanism attempting BRCMF_C_MONITOR > command. However, that does not indicate firmware support. Unfortunately, > it only indicates the core part of the stack supports it, but not whether > it is supported in full-dongle mode, ie. firmware has means to transfer > the monitor packets to the host. Firmwares that return the "monitor" > flag in the "cap" iovar are able to send the packets to the host. > > Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Dropping per Arend's request 6 patches set to Changes Requested. 10482829 [1/6] brcmfmac: remove fallback mechanism for BRCMF_FEAT_MONITOR 10482837 [2/6] brcmfmac: rename BRCMF_FEAT_MONITOR_FMT_RADIOTAP to BRCMF_FEAT_RADIOTAP 10482833 [3/6] brcmfmac: fix for proper support of 160MHz bandwidth 10482835 [4/6] brcmfmac: increase buffer for obtaining firmware capabilities 10482827 [5/6] brcmfmac: add new feature flags for monitor mode operation 10482831 [6/6] brcmfmac: fallback mechanism to determine monitor mode features
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c index 48d7978..a78b9ba 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c @@ -92,26 +92,6 @@ static int brcmf_feat_debugfs_read(struct seq_file *seq, void *data) } #endif /* DEBUG */ -static void brcmf_feat_cmd_int_get(struct brcmf_if *ifp, enum brcmf_feat_id id, - u32 cmd) -{ - u32 data; - int err; - - ifp->fwil_fwerr = true; - - err = brcmf_fil_cmd_int_get(ifp, cmd, &data); - if (err == 0) { - brcmf_dbg(INFO, "enabling feature: %s\n", brcmf_feat_names[id]); - ifp->drvr->feat_flags |= BIT(id); - } else { - brcmf_dbg(TRACE, "%s feature check failed: %d\n", - brcmf_feat_names[id], err); - } - - ifp->fwil_fwerr = false; -} - /** * brcmf_feat_iovar_int_get() - determine feature through iovar query. * @@ -272,11 +252,6 @@ void brcmf_feat_attach(struct brcmf_pub *drvr) } brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_FWSUP, "sup_wpa"); - /* Fallback detection for older firmwares */ - if (!brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MONITOR)) - brcmf_feat_cmd_int_get(ifp, BRCMF_FEAT_MONITOR, - BRCMF_C_GET_MONITOR); - /* set chip related quirks */ switch (drvr->bus_if->chip) { case BRCM_CC_43236_CHIP_ID:
Commit 19f505aa3ae0 ("brcmfmac: detect firmware support for monitor interface") introduced a fallback mechanism attempting BRCMF_C_MONITOR command. However, that does not indicate firmware support. Unfortunately, it only indicates the core part of the stack supports it, but not whether it is supported in full-dongle mode, ie. firmware has means to transfer the monitor packets to the host. Firmwares that return the "monitor" flag in the "cap" iovar are able to send the packets to the host. Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> --- .../wireless/broadcom/brcm80211/brcmfmac/feature.c | 25 ---------------------- 1 file changed, 25 deletions(-)