aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/nl80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r--net/wireless/nl80211.c48
1 files changed, 27 insertions, 21 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index 7946b82c5716..01523ba81baf 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -3832,12 +3832,12 @@ nla_put_failure:
3832static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev, 3832static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
3833 struct net_device *netdev, 3833 struct net_device *netdev,
3834 const u8 *buf, size_t len, 3834 const u8 *buf, size_t len,
3835 enum nl80211_commands cmd) 3835 enum nl80211_commands cmd, gfp_t gfp)
3836{ 3836{
3837 struct sk_buff *msg; 3837 struct sk_buff *msg;
3838 void *hdr; 3838 void *hdr;
3839 3839
3840 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); 3840 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, gfp);
3841 if (!msg) 3841 if (!msg)
3842 return; 3842 return;
3843 3843
@@ -3856,7 +3856,7 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
3856 return; 3856 return;
3857 } 3857 }
3858 3858
3859 genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, GFP_ATOMIC); 3859 genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, gfp);
3860 return; 3860 return;
3861 3861
3862 nla_put_failure: 3862 nla_put_failure:
@@ -3865,42 +3865,45 @@ static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev,
3865} 3865}
3866 3866
3867void nl80211_send_rx_auth(struct cfg80211_registered_device *rdev, 3867void nl80211_send_rx_auth(struct cfg80211_registered_device *rdev,
3868 struct net_device *netdev, const u8 *buf, size_t len) 3868 struct net_device *netdev, const u8 *buf,
3869 size_t len, gfp_t gfp)
3869{ 3870{
3870 nl80211_send_mlme_event(rdev, netdev, buf, len, 3871 nl80211_send_mlme_event(rdev, netdev, buf, len,
3871 NL80211_CMD_AUTHENTICATE); 3872 NL80211_CMD_AUTHENTICATE, gfp);
3872} 3873}
3873 3874
3874void nl80211_send_rx_assoc(struct cfg80211_registered_device *rdev, 3875void nl80211_send_rx_assoc(struct cfg80211_registered_device *rdev,
3875 struct net_device *netdev, const u8 *buf, 3876 struct net_device *netdev, const u8 *buf,
3876 size_t len) 3877 size_t len, gfp_t gfp)
3877{ 3878{
3878 nl80211_send_mlme_event(rdev, netdev, buf, len, NL80211_CMD_ASSOCIATE); 3879 nl80211_send_mlme_event(rdev, netdev, buf, len,
3880 NL80211_CMD_ASSOCIATE, gfp);
3879} 3881}
3880 3882
3881void nl80211_send_deauth(struct cfg80211_registered_device *rdev, 3883void nl80211_send_deauth(struct cfg80211_registered_device *rdev,
3882 struct net_device *netdev, const u8 *buf, size_t len) 3884 struct net_device *netdev, const u8 *buf,
3885 size_t len, gfp_t gfp)
3883{ 3886{
3884 nl80211_send_mlme_event(rdev, netdev, buf, len, 3887 nl80211_send_mlme_event(rdev, netdev, buf, len,
3885 NL80211_CMD_DEAUTHENTICATE); 3888 NL80211_CMD_DEAUTHENTICATE, gfp);
3886} 3889}
3887 3890
3888void nl80211_send_disassoc(struct cfg80211_registered_device *rdev, 3891void nl80211_send_disassoc(struct cfg80211_registered_device *rdev,
3889 struct net_device *netdev, const u8 *buf, 3892 struct net_device *netdev, const u8 *buf,
3890 size_t len) 3893 size_t len, gfp_t gfp)
3891{ 3894{
3892 nl80211_send_mlme_event(rdev, netdev, buf, len, 3895 nl80211_send_mlme_event(rdev, netdev, buf, len,
3893 NL80211_CMD_DISASSOCIATE); 3896 NL80211_CMD_DISASSOCIATE, gfp);
3894} 3897}
3895 3898
3896static void nl80211_send_mlme_timeout(struct cfg80211_registered_device *rdev, 3899static void nl80211_send_mlme_timeout(struct cfg80211_registered_device *rdev,
3897 struct net_device *netdev, int cmd, 3900 struct net_device *netdev, int cmd,
3898 const u8 *addr) 3901 const u8 *addr, gfp_t gfp)
3899{ 3902{
3900 struct sk_buff *msg; 3903 struct sk_buff *msg;
3901 void *hdr; 3904 void *hdr;
3902 3905
3903 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); 3906 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, gfp);
3904 if (!msg) 3907 if (!msg)
3905 return; 3908 return;
3906 3909
@@ -3920,7 +3923,7 @@ static void nl80211_send_mlme_timeout(struct cfg80211_registered_device *rdev,
3920 return; 3923 return;
3921 } 3924 }
3922 3925
3923 genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, GFP_ATOMIC); 3926 genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, gfp);
3924 return; 3927 return;
3925 3928
3926 nla_put_failure: 3929 nla_put_failure:
@@ -3929,16 +3932,19 @@ static void nl80211_send_mlme_timeout(struct cfg80211_registered_device *rdev,
3929} 3932}
3930 3933
3931void nl80211_send_auth_timeout(struct cfg80211_registered_device *rdev, 3934void nl80211_send_auth_timeout(struct cfg80211_registered_device *rdev,
3932 struct net_device *netdev, const u8 *addr) 3935 struct net_device *netdev, const u8 *addr,
3936 gfp_t gfp)
3933{ 3937{
3934 nl80211_send_mlme_timeout(rdev, netdev, NL80211_CMD_AUTHENTICATE, 3938 nl80211_send_mlme_timeout(rdev, netdev, NL80211_CMD_AUTHENTICATE,
3935 addr); 3939 addr, gfp);
3936} 3940}
3937 3941
3938void nl80211_send_assoc_timeout(struct cfg80211_registered_device *rdev, 3942void nl80211_send_assoc_timeout(struct cfg80211_registered_device *rdev,
3939 struct net_device *netdev, const u8 *addr) 3943 struct net_device *netdev, const u8 *addr,
3944 gfp_t gfp)
3940{ 3945{
3941 nl80211_send_mlme_timeout(rdev, netdev, NL80211_CMD_ASSOCIATE, addr); 3946 nl80211_send_mlme_timeout(rdev, netdev, NL80211_CMD_ASSOCIATE,
3947 addr, gfp);
3942} 3948}
3943 3949
3944void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev, 3950void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev,
@@ -3978,12 +3984,12 @@ void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev,
3978void nl80211_michael_mic_failure(struct cfg80211_registered_device *rdev, 3984void nl80211_michael_mic_failure(struct cfg80211_registered_device *rdev,
3979 struct net_device *netdev, const u8 *addr, 3985 struct net_device *netdev, const u8 *addr,
3980 enum nl80211_key_type key_type, int key_id, 3986 enum nl80211_key_type key_type, int key_id,
3981 const u8 *tsc) 3987 const u8 *tsc, gfp_t gfp)
3982{ 3988{
3983 struct sk_buff *msg; 3989 struct sk_buff *msg;
3984 void *hdr; 3990 void *hdr;
3985 3991
3986 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); 3992 msg = nlmsg_new(NLMSG_DEFAULT_SIZE, gfp);
3987 if (!msg) 3993 if (!msg)
3988 return; 3994 return;
3989 3995
@@ -4007,7 +4013,7 @@ void nl80211_michael_mic_failure(struct cfg80211_registered_device *rdev,
4007 return; 4013 return;
4008 } 4014 }
4009 4015
4010 genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, GFP_ATOMIC); 4016 genlmsg_multicast(msg, 0, nl80211_mlme_mcgrp.id, gfp);
4011 return; 4017 return;
4012 4018
4013 nla_put_failure: 4019 nla_put_failure: