diff options
-rw-r--r-- | drivers/net/wireless/wl3501.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/wl3501_cs.c | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/wl3501.h b/drivers/net/wireless/wl3501.h index b5719437e981..7fcbe589c3f2 100644 --- a/drivers/net/wireless/wl3501.h +++ b/drivers/net/wireless/wl3501.h @@ -609,6 +609,7 @@ struct wl3501_card { struct net_device_stats stats; struct iw_statistics wstats; struct iw_spy_data spy_data; + struct iw_public_data wireless_data; struct dev_node_t node; }; #endif diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c index 7cc5edbf6ede..3f8c27f0871b 100644 --- a/drivers/net/wireless/wl3501_cs.c +++ b/drivers/net/wireless/wl3501_cs.c @@ -1944,7 +1944,7 @@ static const iw_handler wl3501_handler[] = { static const struct iw_handler_def wl3501_handler_def = { .num_standard = sizeof(wl3501_handler) / sizeof(iw_handler), .standard = (iw_handler *)wl3501_handler, - .spy_offset = offsetof(struct wl3501_card, spy_data), + .get_wireless_stats = wl3501_get_wireless_stats, }; /** @@ -1961,6 +1961,7 @@ static dev_link_t *wl3501_attach(void) client_reg_t client_reg; dev_link_t *link; struct net_device *dev; + struct wl3501_card *this; int ret; /* Initialize the dev_link_t structure */ @@ -1995,7 +1996,9 @@ static dev_link_t *wl3501_attach(void) dev->tx_timeout = wl3501_tx_timeout; dev->watchdog_timeo = 5 * HZ; dev->get_stats = wl3501_get_stats; - dev->get_wireless_stats = wl3501_get_wireless_stats; + this = dev->priv; + this->wireless_data.spy_data = &this->spy_data; + dev->wireless_data = &this->wireless_data; dev->wireless_handlers = (struct iw_handler_def *)&wl3501_handler_def; SET_ETHTOOL_OPS(dev, &ops); netif_stop_queue(dev); |