Skip to content

Commit

Permalink
[PATCH] ipw2100: Fix 'Driver using old /proc/net/wireless...' message
Browse files Browse the repository at this point in the history
ipw2100: Fix 'Driver using old /proc/net/wireless...' message

Wireless extensions moved the get_wireless_stats handler from being
in net_device into wireless_handler.

A prior instance of this patch resolved the issue for the ipw2200.
This one fixes it for the ipw2100.

Signed-off-by: Benoit Boissinot <[email protected]>
Signed-off-by: James Ketrenos <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
  • Loading branch information
James Ketrenos authored and linvjw committed Nov 18, 2005
1 parent a7a461b commit eaf8f53
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
29 changes: 18 additions & 11 deletions drivers/net/wireless/ipw2100.c
Original file line number Diff line number Diff line change
Expand Up @@ -6344,7 +6344,8 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
dev->ethtool_ops = &ipw2100_ethtool_ops;
dev->tx_timeout = ipw2100_tx_timeout;
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->watchdog_timeo = 3 * HZ;
dev->irq = 0;
Expand Down Expand Up @@ -7178,6 +7179,11 @@ static int ipw2100_wx_get_range(struct net_device *dev,
}
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");

return 0;
Expand Down Expand Up @@ -8446,16 +8452,6 @@ static iw_handler ipw2100_private_handler[] = {
#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.
* Called by /proc/net/wireless
Expand Down Expand Up @@ -8597,6 +8593,17 @@ static struct iw_statistics *ipw2100_wx_wireless_stats(struct net_device *dev)
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)
{
union iwreq_data wrqu;
Expand Down
2 changes: 2 additions & 0 deletions drivers/net/wireless/ipw2100.h
Original file line number Diff line number Diff line change
Expand Up @@ -571,6 +571,8 @@ struct ipw2100_priv {
struct net_device *net_dev;
struct iw_statistics wstats;

struct iw_public_data wireless_data;

struct tasklet_struct irq_tasklet;

struct workqueue_struct *workqueue;
Expand Down

0 comments on commit eaf8f53

Please sign in to comment.