mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-26 12:26:11 +00:00
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>
This commit is contained in:
parent
eaf49dbc4b
commit
4481b2dba0
1 changed files with 10 additions and 6 deletions
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue