net: wireless: bcmdhd: Improve p2p low throughput
The DHD driver was not setting the WLC_SCB_AUTHORIZE for
the p2p group interface. Because of this rxchaining in the
firmware was not getting enabled leading to lower throughput numbers.
b/16689513
Change-Id: I8382a00af143af7daa8e8c0f974e77def42329fe
Signed-off-by: Ecco park <eccopark@broadcom.com>
diff --git a/drivers/net/wireless/bcmdhd/wl_cfg80211.c b/drivers/net/wireless/bcmdhd/wl_cfg80211.c
index 6455649..05d2c05 100644
--- a/drivers/net/wireless/bcmdhd/wl_cfg80211.c
+++ b/drivers/net/wireless/bcmdhd/wl_cfg80211.c
@@ -6860,21 +6860,25 @@
struct station_parameters *params)
{
int err;
- struct bcm_cfg80211 *cfg = wiphy_priv(wiphy);
- struct net_device *primary_ndev = bcmcfg_to_prmry_ndev(cfg);
+
+ WL_DBG(("SCB_AUTHORIZE mac_addr:"MACDBG" sta_flags_mask:0x%x "
+ "sta_flags_set:0x%x iface:%s \n", MAC2STRDBG(mac),
+ params->sta_flags_mask, params->sta_flags_set, dev->name));
/* Processing only authorize/de-authorize flag for now */
- if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED)))
+ if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED))) {
+ WL_ERR(("WLC_SCB_AUTHORIZE sta_flags_mask not set \n"));
return -ENOTSUPP;
+ }
if (!(params->sta_flags_set & BIT(NL80211_STA_FLAG_AUTHORIZED))) {
- err = wldev_ioctl(primary_ndev, WLC_SCB_DEAUTHORIZE, mac, ETH_ALEN, true);
+ err = wldev_ioctl(dev, WLC_SCB_DEAUTHORIZE, mac, ETH_ALEN, true);
if (err)
WL_ERR(("WLC_SCB_DEAUTHORIZE error (%d)\n", err));
return err;
}
- err = wldev_ioctl(primary_ndev, WLC_SCB_AUTHORIZE, mac, ETH_ALEN, true);
+ err = wldev_ioctl(dev, WLC_SCB_AUTHORIZE, mac, ETH_ALEN, true);
if (err)
WL_ERR(("WLC_SCB_AUTHORIZE error (%d)\n", err));
return err;