diff options
author | Arend van Spriel <arend@broadcom.com> | 2013-04-05 04:57:47 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-08 15:28:44 -0400 |
commit | 7fa2e3529c51f1c3590964c1746cc48d04cbc0ab (patch) | |
tree | 63d2d873d85812f0f12013b1a6919886ba5714bf /drivers/net/wireless | |
parent | 5857f9c6a88845a7ae5be02582b6a07dab6ef7b4 (diff) |
brcmfmac: remove use of unconditional access of struct wireless_dev::netdev
With the introduction of the P2P_DEVICE interface type an instance of
struct wireless_dev does not always have a netdev assigned to it. Better
use container_of() construct to obtain internal structure and go from
there.
Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com>
Reviewed-by: Piotr Haber <phaber@broadcom.com>
Reviewed-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c index beba7f69577b..56359e3e7eb6 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | |||
@@ -3868,13 +3868,13 @@ brcmf_cfg80211_mgmt_frame_register(struct wiphy *wiphy, | |||
3868 | struct wireless_dev *wdev, | 3868 | struct wireless_dev *wdev, |
3869 | u16 frame_type, bool reg) | 3869 | u16 frame_type, bool reg) |
3870 | { | 3870 | { |
3871 | struct brcmf_if *ifp = netdev_priv(wdev->netdev); | 3871 | struct brcmf_cfg80211_vif *vif; |
3872 | struct brcmf_cfg80211_vif *vif = ifp->vif; | ||
3873 | u16 mgmt_type; | 3872 | u16 mgmt_type; |
3874 | 3873 | ||
3875 | brcmf_dbg(TRACE, "Enter, frame_type %04x, reg=%d\n", frame_type, reg); | 3874 | brcmf_dbg(TRACE, "Enter, frame_type %04x, reg=%d\n", frame_type, reg); |
3876 | 3875 | ||
3877 | mgmt_type = (frame_type & IEEE80211_FCTL_STYPE) >> 4; | 3876 | mgmt_type = (frame_type & IEEE80211_FCTL_STYPE) >> 4; |
3877 | vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); | ||
3878 | if (reg) | 3878 | if (reg) |
3879 | vif->mgmt_rx_reg |= BIT(mgmt_type); | 3879 | vif->mgmt_rx_reg |= BIT(mgmt_type); |
3880 | else | 3880 | else |
@@ -3890,7 +3890,6 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, | |||
3890 | { | 3890 | { |
3891 | struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); | 3891 | struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); |
3892 | const struct ieee80211_mgmt *mgmt; | 3892 | const struct ieee80211_mgmt *mgmt; |
3893 | struct brcmf_if *ifp; | ||
3894 | struct brcmf_cfg80211_vif *vif; | 3893 | struct brcmf_cfg80211_vif *vif; |
3895 | s32 err = 0; | 3894 | s32 err = 0; |
3896 | s32 ie_offset; | 3895 | s32 ie_offset; |
@@ -3926,8 +3925,7 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, | |||
3926 | ie_offset = DOT11_MGMT_HDR_LEN + | 3925 | ie_offset = DOT11_MGMT_HDR_LEN + |
3927 | DOT11_BCN_PRB_FIXED_LEN; | 3926 | DOT11_BCN_PRB_FIXED_LEN; |
3928 | ie_len = len - ie_offset; | 3927 | ie_len = len - ie_offset; |
3929 | ifp = netdev_priv(wdev->netdev); | 3928 | vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev); |
3930 | vif = ifp->vif; | ||
3931 | if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif) | 3929 | if (vif == cfg->p2p.bss_idx[P2PAPI_BSSCFG_PRIMARY].vif) |
3932 | vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif; | 3930 | vif = cfg->p2p.bss_idx[P2PAPI_BSSCFG_DEVICE].vif; |
3933 | err = brcmf_vif_set_mgmt_ie(vif, | 3931 | err = brcmf_vif_set_mgmt_ie(vif, |
@@ -3962,7 +3960,7 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, | |||
3962 | *cookie, le16_to_cpu(action_frame->len), | 3960 | *cookie, le16_to_cpu(action_frame->len), |
3963 | chan->center_freq); | 3961 | chan->center_freq); |
3964 | 3962 | ||
3965 | ack = brcmf_p2p_send_action_frame(cfg, wdev->netdev, | 3963 | ack = brcmf_p2p_send_action_frame(cfg, cfg_to_ndev(cfg), |
3966 | af_params); | 3964 | af_params); |
3967 | 3965 | ||
3968 | cfg80211_mgmt_tx_status(wdev, *cookie, buf, len, ack, | 3966 | cfg80211_mgmt_tx_status(wdev, *cookie, buf, len, ack, |