diff options
Diffstat (limited to 'drivers/net/wireless/rndis_wlan.c')
-rw-r--r-- | drivers/net/wireless/rndis_wlan.c | 95 |
1 files changed, 46 insertions, 49 deletions
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index 2b414899dfa0..607ce9f61b54 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c | |||
@@ -37,11 +37,11 @@ | |||
37 | #include <linux/usb.h> | 37 | #include <linux/usb.h> |
38 | #include <linux/usb/cdc.h> | 38 | #include <linux/usb/cdc.h> |
39 | #include <linux/wireless.h> | 39 | #include <linux/wireless.h> |
40 | #include <linux/ieee80211.h> | ||
40 | #include <linux/if_arp.h> | 41 | #include <linux/if_arp.h> |
41 | #include <linux/ctype.h> | 42 | #include <linux/ctype.h> |
42 | #include <linux/spinlock.h> | 43 | #include <linux/spinlock.h> |
43 | #include <net/iw_handler.h> | 44 | #include <net/iw_handler.h> |
44 | #include <net/ieee80211.h> | ||
45 | #include <linux/usb/usbnet.h> | 45 | #include <linux/usb/usbnet.h> |
46 | #include <linux/usb/rndis_host.h> | 46 | #include <linux/usb/rndis_host.h> |
47 | 47 | ||
@@ -1104,7 +1104,7 @@ static int rndis_iw_get_range(struct net_device *dev, | |||
1104 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1104 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1105 | { | 1105 | { |
1106 | struct iw_range *range = (struct iw_range *)extra; | 1106 | struct iw_range *range = (struct iw_range *)extra; |
1107 | struct usbnet *usbdev = dev->priv; | 1107 | struct usbnet *usbdev = netdev_priv(dev); |
1108 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1108 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1109 | int len, ret, i, j, num, has_80211g_rates; | 1109 | int len, ret, i, j, num, has_80211g_rates; |
1110 | u8 rates[8]; | 1110 | u8 rates[8]; |
@@ -1210,7 +1210,7 @@ static int rndis_iw_get_range(struct net_device *dev, | |||
1210 | static int rndis_iw_get_name(struct net_device *dev, | 1210 | static int rndis_iw_get_name(struct net_device *dev, |
1211 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1211 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1212 | { | 1212 | { |
1213 | struct usbnet *usbdev = dev->priv; | 1213 | struct usbnet *usbdev = netdev_priv(dev); |
1214 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1214 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1215 | 1215 | ||
1216 | strcpy(wrqu->name, priv->name); | 1216 | strcpy(wrqu->name, priv->name); |
@@ -1223,7 +1223,7 @@ static int rndis_iw_set_essid(struct net_device *dev, | |||
1223 | { | 1223 | { |
1224 | struct ndis_80211_ssid ssid; | 1224 | struct ndis_80211_ssid ssid; |
1225 | int length = wrqu->essid.length; | 1225 | int length = wrqu->essid.length; |
1226 | struct usbnet *usbdev = dev->priv; | 1226 | struct usbnet *usbdev = netdev_priv(dev); |
1227 | 1227 | ||
1228 | devdbg(usbdev, "SIOCSIWESSID: [flags:%d,len:%d] '%.32s'", | 1228 | devdbg(usbdev, "SIOCSIWESSID: [flags:%d,len:%d] '%.32s'", |
1229 | wrqu->essid.flags, wrqu->essid.length, essid); | 1229 | wrqu->essid.flags, wrqu->essid.length, essid); |
@@ -1250,7 +1250,7 @@ static int rndis_iw_get_essid(struct net_device *dev, | |||
1250 | struct iw_request_info *info, union iwreq_data *wrqu, char *essid) | 1250 | struct iw_request_info *info, union iwreq_data *wrqu, char *essid) |
1251 | { | 1251 | { |
1252 | struct ndis_80211_ssid ssid; | 1252 | struct ndis_80211_ssid ssid; |
1253 | struct usbnet *usbdev = dev->priv; | 1253 | struct usbnet *usbdev = netdev_priv(dev); |
1254 | int ret; | 1254 | int ret; |
1255 | 1255 | ||
1256 | ret = get_essid(usbdev, &ssid); | 1256 | ret = get_essid(usbdev, &ssid); |
@@ -1273,15 +1273,14 @@ static int rndis_iw_get_essid(struct net_device *dev, | |||
1273 | static int rndis_iw_get_bssid(struct net_device *dev, | 1273 | static int rndis_iw_get_bssid(struct net_device *dev, |
1274 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1274 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1275 | { | 1275 | { |
1276 | struct usbnet *usbdev = dev->priv; | 1276 | struct usbnet *usbdev = netdev_priv(dev); |
1277 | unsigned char bssid[ETH_ALEN]; | 1277 | unsigned char bssid[ETH_ALEN]; |
1278 | int ret; | 1278 | int ret; |
1279 | DECLARE_MAC_BUF(mac); | ||
1280 | 1279 | ||
1281 | ret = get_bssid(usbdev, bssid); | 1280 | ret = get_bssid(usbdev, bssid); |
1282 | 1281 | ||
1283 | if (ret == 0) | 1282 | if (ret == 0) |
1284 | devdbg(usbdev, "SIOCGIWAP: %s", print_mac(mac, bssid)); | 1283 | devdbg(usbdev, "SIOCGIWAP: %pM", bssid); |
1285 | else | 1284 | else |
1286 | devdbg(usbdev, "SIOCGIWAP: <not associated>"); | 1285 | devdbg(usbdev, "SIOCGIWAP: <not associated>"); |
1287 | 1286 | ||
@@ -1295,12 +1294,11 @@ static int rndis_iw_get_bssid(struct net_device *dev, | |||
1295 | static int rndis_iw_set_bssid(struct net_device *dev, | 1294 | static int rndis_iw_set_bssid(struct net_device *dev, |
1296 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1295 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1297 | { | 1296 | { |
1298 | struct usbnet *usbdev = dev->priv; | 1297 | struct usbnet *usbdev = netdev_priv(dev); |
1299 | u8 *bssid = (u8 *)wrqu->ap_addr.sa_data; | 1298 | u8 *bssid = (u8 *)wrqu->ap_addr.sa_data; |
1300 | DECLARE_MAC_BUF(mac); | ||
1301 | int ret; | 1299 | int ret; |
1302 | 1300 | ||
1303 | devdbg(usbdev, "SIOCSIWAP: %s", print_mac(mac, bssid)); | 1301 | devdbg(usbdev, "SIOCSIWAP: %pM", bssid); |
1304 | 1302 | ||
1305 | ret = rndis_set_oid(usbdev, OID_802_11_BSSID, bssid, ETH_ALEN); | 1303 | ret = rndis_set_oid(usbdev, OID_802_11_BSSID, bssid, ETH_ALEN); |
1306 | 1304 | ||
@@ -1318,7 +1316,7 @@ static int rndis_iw_set_auth(struct net_device *dev, | |||
1318 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1316 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1319 | { | 1317 | { |
1320 | struct iw_param *p = &wrqu->param; | 1318 | struct iw_param *p = &wrqu->param; |
1321 | struct usbnet *usbdev = dev->priv; | 1319 | struct usbnet *usbdev = netdev_priv(dev); |
1322 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1320 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1323 | int ret = -ENOTSUPP; | 1321 | int ret = -ENOTSUPP; |
1324 | 1322 | ||
@@ -1399,7 +1397,7 @@ static int rndis_iw_get_auth(struct net_device *dev, | |||
1399 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1397 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1400 | { | 1398 | { |
1401 | struct iw_param *p = &wrqu->param; | 1399 | struct iw_param *p = &wrqu->param; |
1402 | struct usbnet *usbdev = dev->priv; | 1400 | struct usbnet *usbdev = netdev_priv(dev); |
1403 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1401 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1404 | 1402 | ||
1405 | switch (p->flags & IW_AUTH_INDEX) { | 1403 | switch (p->flags & IW_AUTH_INDEX) { |
@@ -1431,7 +1429,7 @@ static int rndis_iw_get_mode(struct net_device *dev, | |||
1431 | struct iw_request_info *info, | 1429 | struct iw_request_info *info, |
1432 | union iwreq_data *wrqu, char *extra) | 1430 | union iwreq_data *wrqu, char *extra) |
1433 | { | 1431 | { |
1434 | struct usbnet *usbdev = dev->priv; | 1432 | struct usbnet *usbdev = netdev_priv(dev); |
1435 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1433 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1436 | 1434 | ||
1437 | switch (priv->infra_mode) { | 1435 | switch (priv->infra_mode) { |
@@ -1454,7 +1452,7 @@ static int rndis_iw_get_mode(struct net_device *dev, | |||
1454 | static int rndis_iw_set_mode(struct net_device *dev, | 1452 | static int rndis_iw_set_mode(struct net_device *dev, |
1455 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1453 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1456 | { | 1454 | { |
1457 | struct usbnet *usbdev = dev->priv; | 1455 | struct usbnet *usbdev = netdev_priv(dev); |
1458 | int mode; | 1456 | int mode; |
1459 | 1457 | ||
1460 | devdbg(usbdev, "SIOCSIWMODE: %08x", wrqu->mode); | 1458 | devdbg(usbdev, "SIOCSIWMODE: %08x", wrqu->mode); |
@@ -1479,7 +1477,7 @@ static int rndis_iw_set_mode(struct net_device *dev, | |||
1479 | static int rndis_iw_set_encode(struct net_device *dev, | 1477 | static int rndis_iw_set_encode(struct net_device *dev, |
1480 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1478 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1481 | { | 1479 | { |
1482 | struct usbnet *usbdev = dev->priv; | 1480 | struct usbnet *usbdev = netdev_priv(dev); |
1483 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1481 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1484 | int ret, index, key_len; | 1482 | int ret, index, key_len; |
1485 | u8 *key; | 1483 | u8 *key; |
@@ -1542,7 +1540,7 @@ static int rndis_iw_set_encode_ext(struct net_device *dev, | |||
1542 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1540 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1543 | { | 1541 | { |
1544 | struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; | 1542 | struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; |
1545 | struct usbnet *usbdev = dev->priv; | 1543 | struct usbnet *usbdev = netdev_priv(dev); |
1546 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1544 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1547 | struct ndis_80211_key ndis_key; | 1545 | struct ndis_80211_key ndis_key; |
1548 | int keyidx, ret; | 1546 | int keyidx, ret; |
@@ -1627,7 +1625,7 @@ static int rndis_iw_set_encode_ext(struct net_device *dev, | |||
1627 | static int rndis_iw_set_scan(struct net_device *dev, | 1625 | static int rndis_iw_set_scan(struct net_device *dev, |
1628 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1626 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1629 | { | 1627 | { |
1630 | struct usbnet *usbdev = dev->priv; | 1628 | struct usbnet *usbdev = netdev_priv(dev); |
1631 | union iwreq_data evt; | 1629 | union iwreq_data evt; |
1632 | int ret = -EINVAL; | 1630 | int ret = -EINVAL; |
1633 | __le32 tmp; | 1631 | __le32 tmp; |
@@ -1652,19 +1650,18 @@ static char *rndis_translate_scan(struct net_device *dev, | |||
1652 | struct ndis_80211_bssid_ex *bssid) | 1650 | struct ndis_80211_bssid_ex *bssid) |
1653 | { | 1651 | { |
1654 | #ifdef DEBUG | 1652 | #ifdef DEBUG |
1655 | struct usbnet *usbdev = dev->priv; | 1653 | struct usbnet *usbdev = netdev_priv(dev); |
1656 | #endif | 1654 | #endif |
1657 | struct ieee80211_info_element *ie; | 1655 | u8 *ie; |
1658 | char *current_val; | 1656 | char *current_val; |
1659 | int bssid_len, ie_len, i; | 1657 | int bssid_len, ie_len, i; |
1660 | u32 beacon, atim; | 1658 | u32 beacon, atim; |
1661 | struct iw_event iwe; | 1659 | struct iw_event iwe; |
1662 | unsigned char sbuf[32]; | 1660 | unsigned char sbuf[32]; |
1663 | DECLARE_MAC_BUF(mac); | ||
1664 | 1661 | ||
1665 | bssid_len = le32_to_cpu(bssid->length); | 1662 | bssid_len = le32_to_cpu(bssid->length); |
1666 | 1663 | ||
1667 | devdbg(usbdev, "BSSID %s", print_mac(mac, bssid->mac)); | 1664 | devdbg(usbdev, "BSSID %pM", bssid->mac); |
1668 | iwe.cmd = SIOCGIWAP; | 1665 | iwe.cmd = SIOCGIWAP; |
1669 | iwe.u.ap_addr.sa_family = ARPHRD_ETHER; | 1666 | iwe.u.ap_addr.sa_family = ARPHRD_ETHER; |
1670 | memcpy(iwe.u.ap_addr.sa_data, bssid->mac, ETH_ALEN); | 1667 | memcpy(iwe.u.ap_addr.sa_data, bssid->mac, ETH_ALEN); |
@@ -1753,20 +1750,20 @@ static char *rndis_translate_scan(struct net_device *dev, | |||
1753 | ie_len = min(bssid_len - (int)sizeof(*bssid), | 1750 | ie_len = min(bssid_len - (int)sizeof(*bssid), |
1754 | (int)le32_to_cpu(bssid->ie_length)); | 1751 | (int)le32_to_cpu(bssid->ie_length)); |
1755 | ie_len -= sizeof(struct ndis_80211_fixed_ies); | 1752 | ie_len -= sizeof(struct ndis_80211_fixed_ies); |
1756 | while (ie_len >= sizeof(*ie) && sizeof(*ie) + ie->len <= ie_len) { | 1753 | while (ie_len >= 2 && 2 + ie[1] <= ie_len) { |
1757 | if ((ie->id == MFIE_TYPE_GENERIC && ie->len >= 4 && | 1754 | if ((ie[0] == WLAN_EID_GENERIC && ie[1] >= 4 && |
1758 | memcmp(ie->data, "\x00\x50\xf2\x01", 4) == 0) || | 1755 | memcmp(ie + 2, "\x00\x50\xf2\x01", 4) == 0) || |
1759 | ie->id == MFIE_TYPE_RSN) { | 1756 | ie[0] == WLAN_EID_RSN) { |
1760 | devdbg(usbdev, "IE: WPA%d", | 1757 | devdbg(usbdev, "IE: WPA%d", |
1761 | (ie->id == MFIE_TYPE_RSN) ? 2 : 1); | 1758 | (ie[0] == WLAN_EID_RSN) ? 2 : 1); |
1762 | iwe.cmd = IWEVGENIE; | 1759 | iwe.cmd = IWEVGENIE; |
1763 | iwe.u.data.length = min(ie->len + 2, MAX_WPA_IE_LEN); | 1760 | /* arbitrary cut-off at 64 */ |
1764 | cev = iwe_stream_add_point(info, cev, end_buf, &iwe, | 1761 | iwe.u.data.length = min(ie[1] + 2, 64); |
1765 | (u8 *)ie); | 1762 | cev = iwe_stream_add_point(info, cev, end_buf, &iwe, ie); |
1766 | } | 1763 | } |
1767 | 1764 | ||
1768 | ie_len -= sizeof(*ie) + ie->len; | 1765 | ie_len -= 2 + ie[1]; |
1769 | ie = (struct ieee80211_info_element *)&ie->data[ie->len]; | 1766 | ie += 2 + ie[1]; |
1770 | } | 1767 | } |
1771 | 1768 | ||
1772 | return cev; | 1769 | return cev; |
@@ -1776,7 +1773,7 @@ static char *rndis_translate_scan(struct net_device *dev, | |||
1776 | static int rndis_iw_get_scan(struct net_device *dev, | 1773 | static int rndis_iw_get_scan(struct net_device *dev, |
1777 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1774 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1778 | { | 1775 | { |
1779 | struct usbnet *usbdev = dev->priv; | 1776 | struct usbnet *usbdev = netdev_priv(dev); |
1780 | void *buf = NULL; | 1777 | void *buf = NULL; |
1781 | char *cev = extra; | 1778 | char *cev = extra; |
1782 | struct ndis_80211_bssid_list_ex *bssid_list; | 1779 | struct ndis_80211_bssid_list_ex *bssid_list; |
@@ -1822,7 +1819,7 @@ out: | |||
1822 | static int rndis_iw_set_genie(struct net_device *dev, | 1819 | static int rndis_iw_set_genie(struct net_device *dev, |
1823 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1820 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1824 | { | 1821 | { |
1825 | struct usbnet *usbdev = dev->priv; | 1822 | struct usbnet *usbdev = netdev_priv(dev); |
1826 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1823 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1827 | int ret = 0; | 1824 | int ret = 0; |
1828 | 1825 | ||
@@ -1856,7 +1853,7 @@ static int rndis_iw_set_genie(struct net_device *dev, | |||
1856 | static int rndis_iw_get_genie(struct net_device *dev, | 1853 | static int rndis_iw_get_genie(struct net_device *dev, |
1857 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1854 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1858 | { | 1855 | { |
1859 | struct usbnet *usbdev = dev->priv; | 1856 | struct usbnet *usbdev = netdev_priv(dev); |
1860 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1857 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1861 | 1858 | ||
1862 | devdbg(usbdev, "SIOCGIWGENIE"); | 1859 | devdbg(usbdev, "SIOCGIWGENIE"); |
@@ -1879,7 +1876,7 @@ static int rndis_iw_get_genie(struct net_device *dev, | |||
1879 | static int rndis_iw_set_rts(struct net_device *dev, | 1876 | static int rndis_iw_set_rts(struct net_device *dev, |
1880 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1877 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1881 | { | 1878 | { |
1882 | struct usbnet *usbdev = dev->priv; | 1879 | struct usbnet *usbdev = netdev_priv(dev); |
1883 | __le32 tmp; | 1880 | __le32 tmp; |
1884 | devdbg(usbdev, "SIOCSIWRTS"); | 1881 | devdbg(usbdev, "SIOCSIWRTS"); |
1885 | 1882 | ||
@@ -1892,7 +1889,7 @@ static int rndis_iw_set_rts(struct net_device *dev, | |||
1892 | static int rndis_iw_get_rts(struct net_device *dev, | 1889 | static int rndis_iw_get_rts(struct net_device *dev, |
1893 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1890 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1894 | { | 1891 | { |
1895 | struct usbnet *usbdev = dev->priv; | 1892 | struct usbnet *usbdev = netdev_priv(dev); |
1896 | __le32 tmp; | 1893 | __le32 tmp; |
1897 | int len, ret; | 1894 | int len, ret; |
1898 | 1895 | ||
@@ -1913,7 +1910,7 @@ static int rndis_iw_get_rts(struct net_device *dev, | |||
1913 | static int rndis_iw_set_frag(struct net_device *dev, | 1910 | static int rndis_iw_set_frag(struct net_device *dev, |
1914 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1911 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1915 | { | 1912 | { |
1916 | struct usbnet *usbdev = dev->priv; | 1913 | struct usbnet *usbdev = netdev_priv(dev); |
1917 | __le32 tmp; | 1914 | __le32 tmp; |
1918 | 1915 | ||
1919 | devdbg(usbdev, "SIOCSIWFRAG"); | 1916 | devdbg(usbdev, "SIOCSIWFRAG"); |
@@ -1927,7 +1924,7 @@ static int rndis_iw_set_frag(struct net_device *dev, | |||
1927 | static int rndis_iw_get_frag(struct net_device *dev, | 1924 | static int rndis_iw_get_frag(struct net_device *dev, |
1928 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1925 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1929 | { | 1926 | { |
1930 | struct usbnet *usbdev = dev->priv; | 1927 | struct usbnet *usbdev = netdev_priv(dev); |
1931 | __le32 tmp; | 1928 | __le32 tmp; |
1932 | int len, ret; | 1929 | int len, ret; |
1933 | 1930 | ||
@@ -1947,7 +1944,7 @@ static int rndis_iw_get_frag(struct net_device *dev, | |||
1947 | static int rndis_iw_set_nick(struct net_device *dev, | 1944 | static int rndis_iw_set_nick(struct net_device *dev, |
1948 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1945 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1949 | { | 1946 | { |
1950 | struct usbnet *usbdev = dev->priv; | 1947 | struct usbnet *usbdev = netdev_priv(dev); |
1951 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1948 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1952 | 1949 | ||
1953 | devdbg(usbdev, "SIOCSIWNICK"); | 1950 | devdbg(usbdev, "SIOCSIWNICK"); |
@@ -1964,7 +1961,7 @@ static int rndis_iw_set_nick(struct net_device *dev, | |||
1964 | static int rndis_iw_get_nick(struct net_device *dev, | 1961 | static int rndis_iw_get_nick(struct net_device *dev, |
1965 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1962 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1966 | { | 1963 | { |
1967 | struct usbnet *usbdev = dev->priv; | 1964 | struct usbnet *usbdev = netdev_priv(dev); |
1968 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 1965 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
1969 | 1966 | ||
1970 | wrqu->data.flags = 1; | 1967 | wrqu->data.flags = 1; |
@@ -1980,7 +1977,7 @@ static int rndis_iw_get_nick(struct net_device *dev, | |||
1980 | static int rndis_iw_set_freq(struct net_device *dev, | 1977 | static int rndis_iw_set_freq(struct net_device *dev, |
1981 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 1978 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
1982 | { | 1979 | { |
1983 | struct usbnet *usbdev = dev->priv; | 1980 | struct usbnet *usbdev = netdev_priv(dev); |
1984 | struct ndis_80211_conf config; | 1981 | struct ndis_80211_conf config; |
1985 | unsigned int dsconfig; | 1982 | unsigned int dsconfig; |
1986 | int len, ret; | 1983 | int len, ret; |
@@ -2011,7 +2008,7 @@ static int rndis_iw_set_freq(struct net_device *dev, | |||
2011 | static int rndis_iw_get_freq(struct net_device *dev, | 2008 | static int rndis_iw_get_freq(struct net_device *dev, |
2012 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 2009 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
2013 | { | 2010 | { |
2014 | struct usbnet *usbdev = dev->priv; | 2011 | struct usbnet *usbdev = netdev_priv(dev); |
2015 | struct ndis_80211_conf config; | 2012 | struct ndis_80211_conf config; |
2016 | int len, ret; | 2013 | int len, ret; |
2017 | 2014 | ||
@@ -2028,7 +2025,7 @@ static int rndis_iw_get_freq(struct net_device *dev, | |||
2028 | static int rndis_iw_get_txpower(struct net_device *dev, | 2025 | static int rndis_iw_get_txpower(struct net_device *dev, |
2029 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 2026 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
2030 | { | 2027 | { |
2031 | struct usbnet *usbdev = dev->priv; | 2028 | struct usbnet *usbdev = netdev_priv(dev); |
2032 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 2029 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
2033 | __le32 tx_power; | 2030 | __le32 tx_power; |
2034 | int ret = 0, len; | 2031 | int ret = 0, len; |
@@ -2062,7 +2059,7 @@ static int rndis_iw_get_txpower(struct net_device *dev, | |||
2062 | static int rndis_iw_set_txpower(struct net_device *dev, | 2059 | static int rndis_iw_set_txpower(struct net_device *dev, |
2063 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 2060 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
2064 | { | 2061 | { |
2065 | struct usbnet *usbdev = dev->priv; | 2062 | struct usbnet *usbdev = netdev_priv(dev); |
2066 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 2063 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
2067 | __le32 tx_power = 0; | 2064 | __le32 tx_power = 0; |
2068 | int ret = 0; | 2065 | int ret = 0; |
@@ -2114,7 +2111,7 @@ static int rndis_iw_set_txpower(struct net_device *dev, | |||
2114 | static int rndis_iw_get_rate(struct net_device *dev, | 2111 | static int rndis_iw_get_rate(struct net_device *dev, |
2115 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 2112 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
2116 | { | 2113 | { |
2117 | struct usbnet *usbdev = dev->priv; | 2114 | struct usbnet *usbdev = netdev_priv(dev); |
2118 | __le32 tmp; | 2115 | __le32 tmp; |
2119 | int ret, len; | 2116 | int ret, len; |
2120 | 2117 | ||
@@ -2132,7 +2129,7 @@ static int rndis_iw_get_rate(struct net_device *dev, | |||
2132 | static int rndis_iw_set_mlme(struct net_device *dev, | 2129 | static int rndis_iw_set_mlme(struct net_device *dev, |
2133 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) | 2130 | struct iw_request_info *info, union iwreq_data *wrqu, char *extra) |
2134 | { | 2131 | { |
2135 | struct usbnet *usbdev = dev->priv; | 2132 | struct usbnet *usbdev = netdev_priv(dev); |
2136 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 2133 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
2137 | struct iw_mlme *mlme = (struct iw_mlme *)extra; | 2134 | struct iw_mlme *mlme = (struct iw_mlme *)extra; |
2138 | unsigned char bssid[ETH_ALEN]; | 2135 | unsigned char bssid[ETH_ALEN]; |
@@ -2157,7 +2154,7 @@ static int rndis_iw_set_mlme(struct net_device *dev, | |||
2157 | 2154 | ||
2158 | static struct iw_statistics *rndis_get_wireless_stats(struct net_device *dev) | 2155 | static struct iw_statistics *rndis_get_wireless_stats(struct net_device *dev) |
2159 | { | 2156 | { |
2160 | struct usbnet *usbdev = dev->priv; | 2157 | struct usbnet *usbdev = netdev_priv(dev); |
2161 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 2158 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
2162 | unsigned long flags; | 2159 | unsigned long flags; |
2163 | 2160 | ||
@@ -2287,7 +2284,7 @@ get_bssid: | |||
2287 | 2284 | ||
2288 | static void rndis_wext_set_multicast_list(struct net_device *dev) | 2285 | static void rndis_wext_set_multicast_list(struct net_device *dev) |
2289 | { | 2286 | { |
2290 | struct usbnet *usbdev = dev->priv; | 2287 | struct usbnet *usbdev = netdev_priv(dev); |
2291 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); | 2288 | struct rndis_wext_private *priv = get_rndis_wext_priv(usbdev); |
2292 | 2289 | ||
2293 | if (test_bit(WORK_SET_MULTICAST_LIST, &priv->work_pending)) | 2290 | if (test_bit(WORK_SET_MULTICAST_LIST, &priv->work_pending)) |