diff options
Diffstat (limited to 'net/wireless/nl80211.c')
-rw-r--r-- | net/wireless/nl80211.c | 48 |
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: | |||
3832 | static void nl80211_send_mlme_event(struct cfg80211_registered_device *rdev, | 3832 | static 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 | ||
3867 | void nl80211_send_rx_auth(struct cfg80211_registered_device *rdev, | 3867 | void 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 | ||
3874 | void nl80211_send_rx_assoc(struct cfg80211_registered_device *rdev, | 3875 | void 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 | ||
3881 | void nl80211_send_deauth(struct cfg80211_registered_device *rdev, | 3883 | void 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 | ||
3888 | void nl80211_send_disassoc(struct cfg80211_registered_device *rdev, | 3891 | void 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 | ||
3896 | static void nl80211_send_mlme_timeout(struct cfg80211_registered_device *rdev, | 3899 | static 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 | ||
3931 | void nl80211_send_auth_timeout(struct cfg80211_registered_device *rdev, | 3934 | void 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 | ||
3938 | void nl80211_send_assoc_timeout(struct cfg80211_registered_device *rdev, | 3942 | void 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 | ||
3944 | void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev, | 3950 | void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev, |
@@ -3978,12 +3984,12 @@ void nl80211_send_ibss_bssid(struct cfg80211_registered_device *rdev, | |||
3978 | void nl80211_michael_mic_failure(struct cfg80211_registered_device *rdev, | 3984 | void 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: |