Merge tag 'wireless-next-2022-11-18' of git://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

Kalle Valo says:

====================
wireless-next patches for v6.2

Second set of patches for v6.2. Only driver patches this time, nothing
really special. Unused platform data support was removed from wl1251
and rtw89 got WoWLAN support.

Major changes:

ath11k

* support configuring channel dwell time during scan

rtw89

* new dynamic header firmware format support

* Wake-over-WLAN support

rtl8xxxu

* enable IEEE80211_HW_SUPPORT_FAST_XMIT
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller
2022-11-18 11:44:36 +00:00
106 changed files with 5803 additions and 1432 deletions

View File

@@ -3231,8 +3231,9 @@ static int ieee80211_scan_results(struct cfg80211_registered_device *rdev,
int cfg80211_wext_giwscan(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_point *data = &wrqu->data;
struct cfg80211_registered_device *rdev;
int res;

View File

@@ -25,16 +25,17 @@
int cfg80211_wext_giwname(struct net_device *dev,
struct iw_request_info *info,
char *name, char *extra)
union iwreq_data *wrqu, char *extra)
{
strcpy(name, "IEEE 802.11");
strcpy(wrqu->name, "IEEE 802.11");
return 0;
}
EXPORT_WEXT_HANDLER(cfg80211_wext_giwname);
int cfg80211_wext_siwmode(struct net_device *dev, struct iw_request_info *info,
u32 *mode, char *extra)
union iwreq_data *wrqu, char *extra)
{
__u32 *mode = &wrqu->mode;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev;
struct vif_params vifparams;
@@ -71,8 +72,9 @@ int cfg80211_wext_siwmode(struct net_device *dev, struct iw_request_info *info,
EXPORT_WEXT_HANDLER(cfg80211_wext_siwmode);
int cfg80211_wext_giwmode(struct net_device *dev, struct iw_request_info *info,
u32 *mode, char *extra)
union iwreq_data *wrqu, char *extra)
{
__u32 *mode = &wrqu->mode;
struct wireless_dev *wdev = dev->ieee80211_ptr;
if (!wdev)
@@ -108,8 +110,9 @@ EXPORT_WEXT_HANDLER(cfg80211_wext_giwmode);
int cfg80211_wext_giwrange(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_point *data = &wrqu->data;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct iw_range *range = (struct iw_range *) extra;
enum nl80211_band band;
@@ -251,8 +254,9 @@ int cfg80211_wext_freq(struct iw_freq *freq)
int cfg80211_wext_siwrts(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *rts, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *rts = &wrqu->rts;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
u32 orts = wdev->wiphy->rts_threshold;
@@ -281,8 +285,9 @@ EXPORT_WEXT_HANDLER(cfg80211_wext_siwrts);
int cfg80211_wext_giwrts(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *rts, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *rts = &wrqu->rts;
struct wireless_dev *wdev = dev->ieee80211_ptr;
rts->value = wdev->wiphy->rts_threshold;
@@ -295,8 +300,9 @@ EXPORT_WEXT_HANDLER(cfg80211_wext_giwrts);
int cfg80211_wext_siwfrag(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *frag, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *frag = &wrqu->frag;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
u32 ofrag = wdev->wiphy->frag_threshold;
@@ -325,8 +331,9 @@ EXPORT_WEXT_HANDLER(cfg80211_wext_siwfrag);
int cfg80211_wext_giwfrag(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *frag, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *frag = &wrqu->frag;
struct wireless_dev *wdev = dev->ieee80211_ptr;
frag->value = wdev->wiphy->frag_threshold;
@@ -339,8 +346,9 @@ EXPORT_WEXT_HANDLER(cfg80211_wext_giwfrag);
static int cfg80211_wext_siwretry(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *retry, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *retry = &wrqu->retry;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
u32 changed = 0;
@@ -378,8 +386,9 @@ static int cfg80211_wext_siwretry(struct net_device *dev,
int cfg80211_wext_giwretry(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *retry, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *retry = &wrqu->retry;
struct wireless_dev *wdev = dev->ieee80211_ptr;
retry->disabled = 0;
@@ -588,8 +597,9 @@ static int cfg80211_set_encryption(struct cfg80211_registered_device *rdev,
static int cfg80211_wext_siwencode(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *erq, char *keybuf)
union iwreq_data *wrqu, char *keybuf)
{
struct iw_point *erq = &wrqu->encoding;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
int idx, err;
@@ -664,8 +674,9 @@ out:
static int cfg80211_wext_siwencodeext(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *erq, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_point *erq = &wrqu->encoding;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
struct iw_encode_ext *ext = (struct iw_encode_ext *) extra;
@@ -767,8 +778,9 @@ static int cfg80211_wext_siwencodeext(struct net_device *dev,
static int cfg80211_wext_giwencode(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *erq, char *keybuf)
union iwreq_data *wrqu, char *keybuf)
{
struct iw_point *erq = &wrqu->encoding;
struct wireless_dev *wdev = dev->ieee80211_ptr;
int idx;
@@ -804,8 +816,9 @@ static int cfg80211_wext_giwencode(struct net_device *dev,
static int cfg80211_wext_siwfreq(struct net_device *dev,
struct iw_request_info *info,
struct iw_freq *wextfreq, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_freq *wextfreq = &wrqu->freq;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
struct cfg80211_chan_def chandef = {
@@ -870,8 +883,9 @@ static int cfg80211_wext_siwfreq(struct net_device *dev,
static int cfg80211_wext_giwfreq(struct net_device *dev,
struct iw_request_info *info,
struct iw_freq *freq, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_freq *freq = &wrqu->freq;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
struct cfg80211_chan_def chandef = {};
@@ -1147,8 +1161,9 @@ static int cfg80211_set_key_mgt(struct wireless_dev *wdev, u32 key_mgt)
static int cfg80211_wext_siwauth(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *data = &wrqu->param;
struct wireless_dev *wdev = dev->ieee80211_ptr;
if (wdev->iftype != NL80211_IFTYPE_STATION)
@@ -1180,7 +1195,7 @@ static int cfg80211_wext_siwauth(struct net_device *dev,
static int cfg80211_wext_giwauth(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
/* XXX: what do we need? */
@@ -1189,8 +1204,9 @@ static int cfg80211_wext_giwauth(struct net_device *dev,
static int cfg80211_wext_siwpower(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *wrq, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *wrq = &wrqu->power;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
bool ps;
@@ -1238,8 +1254,9 @@ static int cfg80211_wext_siwpower(struct net_device *dev,
static int cfg80211_wext_giwpower(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *wrq, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *wrq = &wrqu->power;
struct wireless_dev *wdev = dev->ieee80211_ptr;
wrq->disabled = !wdev->ps;
@@ -1249,8 +1266,9 @@ static int cfg80211_wext_giwpower(struct net_device *dev,
static int cfg80211_wext_siwrate(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *rate, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *rate = &wrqu->bitrate;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
struct cfg80211_bitrate_mask mask;
@@ -1307,8 +1325,9 @@ static int cfg80211_wext_siwrate(struct net_device *dev,
static int cfg80211_wext_giwrate(struct net_device *dev,
struct iw_request_info *info,
struct iw_param *rate, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_param *rate = &wrqu->bitrate;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
struct station_info sinfo = {};
@@ -1430,8 +1449,9 @@ static struct iw_statistics *cfg80211_wireless_stats(struct net_device *dev)
static int cfg80211_wext_siwap(struct net_device *dev,
struct iw_request_info *info,
struct sockaddr *ap_addr, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct sockaddr *ap_addr = &wrqu->ap_addr;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
int ret;
@@ -1455,8 +1475,9 @@ static int cfg80211_wext_siwap(struct net_device *dev,
static int cfg80211_wext_giwap(struct net_device *dev,
struct iw_request_info *info,
struct sockaddr *ap_addr, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct sockaddr *ap_addr = &wrqu->ap_addr;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
int ret;
@@ -1480,8 +1501,9 @@ static int cfg80211_wext_giwap(struct net_device *dev,
static int cfg80211_wext_siwessid(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *ssid)
union iwreq_data *wrqu, char *ssid)
{
struct iw_point *data = &wrqu->data;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
int ret;
@@ -1505,8 +1527,9 @@ static int cfg80211_wext_siwessid(struct net_device *dev,
static int cfg80211_wext_giwessid(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *ssid)
union iwreq_data *wrqu, char *ssid)
{
struct iw_point *data = &wrqu->data;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
int ret;
@@ -1533,7 +1556,7 @@ static int cfg80211_wext_giwessid(struct net_device *dev,
static int cfg80211_wext_siwpmksa(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
@@ -1584,78 +1607,39 @@ static int cfg80211_wext_siwpmksa(struct net_device *dev,
return ret;
}
#define DEFINE_WEXT_COMPAT_STUB(func, type) \
static int __ ## func(struct net_device *dev, \
struct iw_request_info *info, \
union iwreq_data *wrqu, \
char *extra) \
{ \
return func(dev, info, (type *)wrqu, extra); \
}
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwname, char)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwfreq, struct iw_freq)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwfreq, struct iw_freq)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwmode, u32)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwmode, u32)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwrange, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwap, struct sockaddr)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwap, struct sockaddr)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwmlme, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwscan, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwessid, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwessid, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwrate, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwrate, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwrts, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwrts, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwfrag, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwfrag, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwretry, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwretry, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwencode, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwencode, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwpower, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwpower, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwgenie, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_giwauth, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwauth, struct iw_param)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwencodeext, struct iw_point)
DEFINE_WEXT_COMPAT_STUB(cfg80211_wext_siwpmksa, struct iw_point)
static const iw_handler cfg80211_handlers[] = {
[IW_IOCTL_IDX(SIOCGIWNAME)] = __cfg80211_wext_giwname,
[IW_IOCTL_IDX(SIOCSIWFREQ)] = __cfg80211_wext_siwfreq,
[IW_IOCTL_IDX(SIOCGIWFREQ)] = __cfg80211_wext_giwfreq,
[IW_IOCTL_IDX(SIOCSIWMODE)] = __cfg80211_wext_siwmode,
[IW_IOCTL_IDX(SIOCGIWMODE)] = __cfg80211_wext_giwmode,
[IW_IOCTL_IDX(SIOCGIWRANGE)] = __cfg80211_wext_giwrange,
[IW_IOCTL_IDX(SIOCSIWAP)] = __cfg80211_wext_siwap,
[IW_IOCTL_IDX(SIOCGIWAP)] = __cfg80211_wext_giwap,
[IW_IOCTL_IDX(SIOCSIWMLME)] = __cfg80211_wext_siwmlme,
[IW_IOCTL_IDX(SIOCSIWSCAN)] = cfg80211_wext_siwscan,
[IW_IOCTL_IDX(SIOCGIWSCAN)] = __cfg80211_wext_giwscan,
[IW_IOCTL_IDX(SIOCSIWESSID)] = __cfg80211_wext_siwessid,
[IW_IOCTL_IDX(SIOCGIWESSID)] = __cfg80211_wext_giwessid,
[IW_IOCTL_IDX(SIOCSIWRATE)] = __cfg80211_wext_siwrate,
[IW_IOCTL_IDX(SIOCGIWRATE)] = __cfg80211_wext_giwrate,
[IW_IOCTL_IDX(SIOCSIWRTS)] = __cfg80211_wext_siwrts,
[IW_IOCTL_IDX(SIOCGIWRTS)] = __cfg80211_wext_giwrts,
[IW_IOCTL_IDX(SIOCSIWFRAG)] = __cfg80211_wext_siwfrag,
[IW_IOCTL_IDX(SIOCGIWFRAG)] = __cfg80211_wext_giwfrag,
[IW_IOCTL_IDX(SIOCSIWTXPOW)] = cfg80211_wext_siwtxpower,
[IW_IOCTL_IDX(SIOCGIWTXPOW)] = cfg80211_wext_giwtxpower,
[IW_IOCTL_IDX(SIOCSIWRETRY)] = __cfg80211_wext_siwretry,
[IW_IOCTL_IDX(SIOCGIWRETRY)] = __cfg80211_wext_giwretry,
[IW_IOCTL_IDX(SIOCSIWENCODE)] = __cfg80211_wext_siwencode,
[IW_IOCTL_IDX(SIOCGIWENCODE)] = __cfg80211_wext_giwencode,
[IW_IOCTL_IDX(SIOCSIWPOWER)] = __cfg80211_wext_siwpower,
[IW_IOCTL_IDX(SIOCGIWPOWER)] = __cfg80211_wext_giwpower,
[IW_IOCTL_IDX(SIOCSIWGENIE)] = __cfg80211_wext_siwgenie,
[IW_IOCTL_IDX(SIOCSIWAUTH)] = __cfg80211_wext_siwauth,
[IW_IOCTL_IDX(SIOCGIWAUTH)] = __cfg80211_wext_giwauth,
[IW_IOCTL_IDX(SIOCSIWENCODEEXT)]= __cfg80211_wext_siwencodeext,
[IW_IOCTL_IDX(SIOCSIWPMKSA)] = __cfg80211_wext_siwpmksa,
IW_HANDLER(SIOCGIWNAME, cfg80211_wext_giwname),
IW_HANDLER(SIOCSIWFREQ, cfg80211_wext_siwfreq),
IW_HANDLER(SIOCGIWFREQ, cfg80211_wext_giwfreq),
IW_HANDLER(SIOCSIWMODE, cfg80211_wext_siwmode),
IW_HANDLER(SIOCGIWMODE, cfg80211_wext_giwmode),
IW_HANDLER(SIOCGIWRANGE, cfg80211_wext_giwrange),
IW_HANDLER(SIOCSIWAP, cfg80211_wext_siwap),
IW_HANDLER(SIOCGIWAP, cfg80211_wext_giwap),
IW_HANDLER(SIOCSIWMLME, cfg80211_wext_siwmlme),
IW_HANDLER(SIOCSIWSCAN, cfg80211_wext_siwscan),
IW_HANDLER(SIOCGIWSCAN, cfg80211_wext_giwscan),
IW_HANDLER(SIOCSIWESSID, cfg80211_wext_siwessid),
IW_HANDLER(SIOCGIWESSID, cfg80211_wext_giwessid),
IW_HANDLER(SIOCSIWRATE, cfg80211_wext_siwrate),
IW_HANDLER(SIOCGIWRATE, cfg80211_wext_giwrate),
IW_HANDLER(SIOCSIWRTS, cfg80211_wext_siwrts),
IW_HANDLER(SIOCGIWRTS, cfg80211_wext_giwrts),
IW_HANDLER(SIOCSIWFRAG, cfg80211_wext_siwfrag),
IW_HANDLER(SIOCGIWFRAG, cfg80211_wext_giwfrag),
IW_HANDLER(SIOCSIWTXPOW, cfg80211_wext_siwtxpower),
IW_HANDLER(SIOCGIWTXPOW, cfg80211_wext_giwtxpower),
IW_HANDLER(SIOCSIWRETRY, cfg80211_wext_siwretry),
IW_HANDLER(SIOCGIWRETRY, cfg80211_wext_giwretry),
IW_HANDLER(SIOCSIWENCODE, cfg80211_wext_siwencode),
IW_HANDLER(SIOCGIWENCODE, cfg80211_wext_giwencode),
IW_HANDLER(SIOCSIWPOWER, cfg80211_wext_siwpower),
IW_HANDLER(SIOCGIWPOWER, cfg80211_wext_giwpower),
IW_HANDLER(SIOCSIWGENIE, cfg80211_wext_siwgenie),
IW_HANDLER(SIOCSIWAUTH, cfg80211_wext_siwauth),
IW_HANDLER(SIOCGIWAUTH, cfg80211_wext_giwauth),
IW_HANDLER(SIOCSIWENCODEEXT, cfg80211_wext_siwencodeext),
IW_HANDLER(SIOCSIWPMKSA, cfg80211_wext_siwpmksa),
};
const struct iw_handler_def cfg80211_wext_handler = {

View File

@@ -13,7 +13,7 @@
int cfg80211_ibss_wext_siwfreq(struct net_device *dev,
struct iw_request_info *info,
struct iw_freq *freq, char *extra);
struct iw_freq *wextfreq, char *extra);
int cfg80211_ibss_wext_giwfreq(struct net_device *dev,
struct iw_request_info *info,
struct iw_freq *freq, char *extra);
@@ -32,7 +32,7 @@ int cfg80211_ibss_wext_giwessid(struct net_device *dev,
int cfg80211_mgd_wext_siwfreq(struct net_device *dev,
struct iw_request_info *info,
struct iw_freq *freq, char *extra);
struct iw_freq *wextfreq, char *extra);
int cfg80211_mgd_wext_giwfreq(struct net_device *dev,
struct iw_request_info *info,
struct iw_freq *freq, char *extra);
@@ -51,10 +51,10 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev,
int cfg80211_wext_siwmlme(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra);
union iwreq_data *wrqu, char *extra);
int cfg80211_wext_siwgenie(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra);
union iwreq_data *wrqu, char *extra);
int cfg80211_wext_freq(struct iw_freq *freq);

View File

@@ -324,8 +324,9 @@ int cfg80211_mgd_wext_giwap(struct net_device *dev,
int cfg80211_wext_siwgenie(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct iw_point *data = &wrqu->data;
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
u8 *ie = extra;
@@ -374,7 +375,7 @@ int cfg80211_wext_siwgenie(struct net_device *dev,
int cfg80211_wext_siwmlme(struct net_device *dev,
struct iw_request_info *info,
struct iw_point *data, char *extra)
union iwreq_data *wrqu, char *extra)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct iw_mlme *mlme = (struct iw_mlme *)extra;