|
@@ -6344,7 +6344,8 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
|
|
dev->ethtool_ops = &ipw2100_ethtool_ops;
|
|
dev->ethtool_ops = &ipw2100_ethtool_ops;
|
|
dev->tx_timeout = ipw2100_tx_timeout;
|
|
dev->tx_timeout = ipw2100_tx_timeout;
|
|
dev->wireless_handlers = &ipw2100_wx_handler_def;
|
|
dev->wireless_handlers = &ipw2100_wx_handler_def;
|
|
- dev->get_wireless_stats = ipw2100_wx_wireless_stats;
|
|
|
|
|
|
+ priv->wireless_data.ieee80211 = priv->ieee;
|
|
|
|
+ dev->wireless_data = &priv->wireless_data;
|
|
dev->set_mac_address = ipw2100_set_address;
|
|
dev->set_mac_address = ipw2100_set_address;
|
|
dev->watchdog_timeo = 3 * HZ;
|
|
dev->watchdog_timeo = 3 * HZ;
|
|
dev->irq = 0;
|
|
dev->irq = 0;
|
|
@@ -7178,6 +7179,11 @@ static int ipw2100_wx_get_range(struct net_device *dev,
|
|
}
|
|
}
|
|
range->num_frequency = val;
|
|
range->num_frequency = val;
|
|
|
|
|
|
|
|
+ /* Event capability (kernel + driver) */
|
|
|
|
+ range->event_capa[0] = (IW_EVENT_CAPA_K_0 |
|
|
|
|
+ IW_EVENT_CAPA_MASK(SIOCGIWAP));
|
|
|
|
+ range->event_capa[1] = IW_EVENT_CAPA_K_1;
|
|
|
|
+
|
|
IPW_DEBUG_WX("GET Range\n");
|
|
IPW_DEBUG_WX("GET Range\n");
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
@@ -8446,16 +8452,6 @@ static iw_handler ipw2100_private_handler[] = {
|
|
#endif /* CONFIG_IPW2100_MONITOR */
|
|
#endif /* CONFIG_IPW2100_MONITOR */
|
|
};
|
|
};
|
|
|
|
|
|
-static struct iw_handler_def ipw2100_wx_handler_def = {
|
|
|
|
- .standard = ipw2100_wx_handlers,
|
|
|
|
- .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler),
|
|
|
|
- .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler),
|
|
|
|
- .num_private_args = sizeof(ipw2100_private_args) /
|
|
|
|
- sizeof(struct iw_priv_args),
|
|
|
|
- .private = (iw_handler *) ipw2100_private_handler,
|
|
|
|
- .private_args = (struct iw_priv_args *)ipw2100_private_args,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Get wireless statistics.
|
|
* Get wireless statistics.
|
|
* Called by /proc/net/wireless
|
|
* Called by /proc/net/wireless
|
|
@@ -8597,6 +8593,17 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev)
|
|
return (struct iw_statistics *)NULL;
|
|
return (struct iw_statistics *)NULL;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+static struct iw_handler_def ipw2100_wx_handler_def = {
|
|
|
|
+ .standard = ipw2100_wx_handlers,
|
|
|
|
+ .num_standard = sizeof(ipw2100_wx_handlers) / sizeof(iw_handler),
|
|
|
|
+ .num_private = sizeof(ipw2100_private_handler) / sizeof(iw_handler),
|
|
|
|
+ .num_private_args = sizeof(ipw2100_private_args) /
|
|
|
|
+ sizeof(struct iw_priv_args),
|
|
|
|
+ .private = (iw_handler *) ipw2100_private_handler,
|
|
|
|
+ .private_args = (struct iw_priv_args *)ipw2100_private_args,
|
|
|
|
+ .get_wireless_stats = ipw2100_wx_wireless_stats,
|
|
|
|
+};
|
|
|
|
+
|
|
static void ipw2100_wx_event_work(struct ipw2100_priv *priv)
|
|
static void ipw2100_wx_event_work(struct ipw2100_priv *priv)
|
|
{
|
|
{
|
|
union iwreq_data wrqu;
|
|
union iwreq_data wrqu;
|