1
0
Fork 0

mwifiex: skip registering mgmt frame that has already registered

Before sending command to firmware, we need to check the frame type.
We skip registering the mgmt frame that has already been registered.

Signed-off-by: Stone Piao <piaoyun@marvell.com>
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
hifive-unleashed-5.1
Stone Piao 2013-07-22 19:17:44 -07:00 committed by John W. Linville
parent eaf49dbc4b
commit 4481b2dba0
1 changed files with 10 additions and 6 deletions

View File

@ -240,16 +240,20 @@ mwifiex_cfg80211_mgmt_frame_register(struct wiphy *wiphy,
u16 frame_type, bool reg)
{
struct mwifiex_private *priv = mwifiex_netdev_get_priv(wdev->netdev);
u32 mask;
if (reg)
priv->mgmt_frame_mask |= BIT(frame_type >> 4);
mask = priv->mgmt_frame_mask | BIT(frame_type >> 4);
else
priv->mgmt_frame_mask &= ~BIT(frame_type >> 4);
mask = priv->mgmt_frame_mask & ~BIT(frame_type >> 4);
mwifiex_send_cmd_async(priv, HostCmd_CMD_MGMT_FRAME_REG,
HostCmd_ACT_GEN_SET, 0, &priv->mgmt_frame_mask);
wiphy_dbg(wiphy, "info: mgmt frame registered\n");
if (mask != priv->mgmt_frame_mask) {
priv->mgmt_frame_mask = mask;
mwifiex_send_cmd_async(priv, HostCmd_CMD_MGMT_FRAME_REG,
HostCmd_ACT_GEN_SET, 0,
&priv->mgmt_frame_mask);
wiphy_dbg(wiphy, "info: mgmt frame registered\n");
}
}
/*