Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

libertas: fix misuse of netdev_priv() and dev->ml_priv

The mesh and radiotap interfaces need to use the same private data as
the main wifi interface. If the main wifi interface uses netdev_priv(),
but the other interfaces ->ml_priv, there's no way to figure out where
the private data actually is in the WEXT handlers and netdevice
callbacks. So make everything use ->ml_priv.

Fixes botched netdev_priv() conversion introduced by "netdevice
libertas: Fix directly reference of netdev->priv", though admittedly
libertas' use of ->priv was somewhat "special".

Signed-off-by: Kiran Divekar <dkiran@marvell.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Tested-by: Chris Ball <cjb@laptop.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

authored by

Kiran Divekar and committed by
John W. Linville
ab65f649 0c9a3aaa

+71 -70
+6 -6
drivers/net/wireless/libertas/ethtool.c
··· 23 23 static void lbs_ethtool_get_drvinfo(struct net_device *dev, 24 24 struct ethtool_drvinfo *info) 25 25 { 26 - struct lbs_private *priv = netdev_priv(dev); 26 + struct lbs_private *priv = dev->ml_priv; 27 27 28 28 snprintf(info->fw_version, 32, "%u.%u.%u.p%u", 29 29 priv->fwrelease >> 24 & 0xff, ··· 47 47 static int lbs_ethtool_get_eeprom(struct net_device *dev, 48 48 struct ethtool_eeprom *eeprom, u8 * bytes) 49 49 { 50 - struct lbs_private *priv = netdev_priv(dev); 50 + struct lbs_private *priv = dev->ml_priv; 51 51 struct cmd_ds_802_11_eeprom_access cmd; 52 52 int ret; 53 53 ··· 76 76 static void lbs_ethtool_get_stats(struct net_device *dev, 77 77 struct ethtool_stats *stats, uint64_t *data) 78 78 { 79 - struct lbs_private *priv = netdev_priv(dev); 79 + struct lbs_private *priv = dev->ml_priv; 80 80 struct cmd_ds_mesh_access mesh_access; 81 81 int ret; 82 82 ··· 113 113 114 114 static int lbs_ethtool_get_sset_count(struct net_device *dev, int sset) 115 115 { 116 - struct lbs_private *priv = netdev_priv(dev); 116 + struct lbs_private *priv = dev->ml_priv; 117 117 118 118 if (sset == ETH_SS_STATS && dev == priv->mesh_dev) 119 119 return MESH_STATS_NUM; ··· 143 143 static void lbs_ethtool_get_wol(struct net_device *dev, 144 144 struct ethtool_wolinfo *wol) 145 145 { 146 - struct lbs_private *priv = netdev_priv(dev); 146 + struct lbs_private *priv = dev->ml_priv; 147 147 148 148 if (priv->wol_criteria == 0xffffffff) { 149 149 /* Interface driver didn't configure wake */ ··· 166 166 static int lbs_ethtool_set_wol(struct net_device *dev, 167 167 struct ethtool_wolinfo *wol) 168 168 { 169 - struct lbs_private *priv = netdev_priv(dev); 169 + struct lbs_private *priv = dev->ml_priv; 170 170 uint32_t criteria = 0; 171 171 172 172 if (priv->wol_criteria == 0xffffffff && wol->wolopts)
+2 -2
drivers/net/wireless/libertas/if_usb.c
··· 59 59 static ssize_t if_usb_firmware_set(struct device *dev, 60 60 struct device_attribute *attr, const char *buf, size_t count) 61 61 { 62 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 62 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 63 63 struct if_usb_card *cardp = priv->card; 64 64 char fwname[FIRMWARE_NAME_MAX]; 65 65 int ret; ··· 86 86 static ssize_t if_usb_boot2_set(struct device *dev, 87 87 struct device_attribute *attr, const char *buf, size_t count) 88 88 { 89 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 89 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 90 90 struct if_usb_card *cardp = priv->card; 91 91 char fwname[FIRMWARE_NAME_MAX]; 92 92 int ret;
+16 -15
drivers/net/wireless/libertas/main.c
··· 222 222 static ssize_t lbs_anycast_get(struct device *dev, 223 223 struct device_attribute *attr, char * buf) 224 224 { 225 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 225 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 226 226 struct cmd_ds_mesh_access mesh_access; 227 227 int ret; 228 228 ··· 241 241 static ssize_t lbs_anycast_set(struct device *dev, 242 242 struct device_attribute *attr, const char * buf, size_t count) 243 243 { 244 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 244 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 245 245 struct cmd_ds_mesh_access mesh_access; 246 246 uint32_t datum; 247 247 int ret; ··· 263 263 static ssize_t lbs_prb_rsp_limit_get(struct device *dev, 264 264 struct device_attribute *attr, char *buf) 265 265 { 266 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 266 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 267 267 struct cmd_ds_mesh_access mesh_access; 268 268 int ret; 269 269 u32 retry_limit; ··· 286 286 static ssize_t lbs_prb_rsp_limit_set(struct device *dev, 287 287 struct device_attribute *attr, const char *buf, size_t count) 288 288 { 289 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 289 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 290 290 struct cmd_ds_mesh_access mesh_access; 291 291 int ret; 292 292 unsigned long retry_limit; ··· 321 321 static ssize_t lbs_rtap_get(struct device *dev, 322 322 struct device_attribute *attr, char * buf) 323 323 { 324 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 324 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 325 325 return snprintf(buf, 5, "0x%X\n", priv->monitormode); 326 326 } 327 327 ··· 332 332 struct device_attribute *attr, const char * buf, size_t count) 333 333 { 334 334 int monitor_mode; 335 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 335 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 336 336 337 337 sscanf(buf, "%x", &monitor_mode); 338 338 if (monitor_mode) { ··· 383 383 static ssize_t lbs_mesh_get(struct device *dev, 384 384 struct device_attribute *attr, char * buf) 385 385 { 386 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 386 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 387 387 return snprintf(buf, 5, "0x%X\n", !!priv->mesh_dev); 388 388 } 389 389 ··· 393 393 static ssize_t lbs_mesh_set(struct device *dev, 394 394 struct device_attribute *attr, const char * buf, size_t count) 395 395 { 396 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 396 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 397 397 int enable; 398 398 int ret, action = CMD_ACT_MESH_CONFIG_STOP; 399 399 ··· 452 452 */ 453 453 static int lbs_dev_open(struct net_device *dev) 454 454 { 455 - struct lbs_private *priv = netdev_priv(dev) ; 455 + struct lbs_private *priv = dev->ml_priv; 456 456 int ret = 0; 457 457 458 458 lbs_deb_enter(LBS_DEB_NET); ··· 521 521 */ 522 522 static int lbs_eth_stop(struct net_device *dev) 523 523 { 524 - struct lbs_private *priv = netdev_priv(dev); 524 + struct lbs_private *priv = dev->ml_priv; 525 525 526 526 lbs_deb_enter(LBS_DEB_NET); 527 527 ··· 538 538 539 539 static void lbs_tx_timeout(struct net_device *dev) 540 540 { 541 - struct lbs_private *priv = netdev_priv(dev); 541 + struct lbs_private *priv = dev->ml_priv; 542 542 543 543 lbs_deb_enter(LBS_DEB_TX); 544 544 ··· 590 590 */ 591 591 static struct net_device_stats *lbs_get_stats(struct net_device *dev) 592 592 { 593 - struct lbs_private *priv = netdev_priv(dev); 593 + struct lbs_private *priv = dev->ml_priv; 594 594 595 595 lbs_deb_enter(LBS_DEB_NET); 596 596 return &priv->stats; ··· 599 599 static int lbs_set_mac_address(struct net_device *dev, void *addr) 600 600 { 601 601 int ret = 0; 602 - struct lbs_private *priv = netdev_priv(dev); 602 + struct lbs_private *priv = dev->ml_priv; 603 603 struct sockaddr *phwaddr = addr; 604 604 struct cmd_ds_802_11_mac_address cmd; 605 605 ··· 732 732 733 733 static void lbs_set_multicast_list(struct net_device *dev) 734 734 { 735 - struct lbs_private *priv = netdev_priv(dev); 735 + struct lbs_private *priv = dev->ml_priv; 736 736 737 737 schedule_work(&priv->mcast_work); 738 738 } ··· 748 748 static int lbs_thread(void *data) 749 749 { 750 750 struct net_device *dev = data; 751 - struct lbs_private *priv = netdev_priv(dev); 751 + struct lbs_private *priv = dev->ml_priv; 752 752 wait_queue_t wait; 753 753 754 754 lbs_deb_enter(LBS_DEB_THREAD); ··· 1184 1184 goto done; 1185 1185 } 1186 1186 priv = netdev_priv(dev); 1187 + dev->ml_priv = priv; 1187 1188 1188 1189 if (lbs_init_adapter(priv)) { 1189 1190 lbs_pr_err("failed to initialize adapter structure.\n");
+8 -8
drivers/net/wireless/libertas/persistcfg.c
··· 18 18 static int mesh_get_default_parameters(struct device *dev, 19 19 struct mrvl_mesh_defaults *defs) 20 20 { 21 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 21 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 22 22 struct cmd_ds_mesh_config cmd; 23 23 int ret; 24 24 ··· 57 57 static ssize_t bootflag_set(struct device *dev, struct device_attribute *attr, 58 58 const char *buf, size_t count) 59 59 { 60 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 60 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 61 61 struct cmd_ds_mesh_config cmd; 62 62 uint32_t datum; 63 63 int ret; ··· 100 100 static ssize_t boottime_set(struct device *dev, 101 101 struct device_attribute *attr, const char *buf, size_t count) 102 102 { 103 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 103 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 104 104 struct cmd_ds_mesh_config cmd; 105 105 uint32_t datum; 106 106 int ret; ··· 152 152 static ssize_t channel_set(struct device *dev, struct device_attribute *attr, 153 153 const char *buf, size_t count) 154 154 { 155 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 155 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 156 156 struct cmd_ds_mesh_config cmd; 157 157 uint32_t datum; 158 158 int ret; ··· 210 210 struct cmd_ds_mesh_config cmd; 211 211 struct mrvl_mesh_defaults defs; 212 212 struct mrvl_meshie *ie; 213 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 213 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 214 214 int len; 215 215 int ret; 216 216 ··· 269 269 struct cmd_ds_mesh_config cmd; 270 270 struct mrvl_mesh_defaults defs; 271 271 struct mrvl_meshie *ie; 272 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 272 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 273 273 uint32_t datum; 274 274 int ret; 275 275 ··· 323 323 struct cmd_ds_mesh_config cmd; 324 324 struct mrvl_mesh_defaults defs; 325 325 struct mrvl_meshie *ie; 326 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 326 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 327 327 uint32_t datum; 328 328 int ret; 329 329 ··· 377 377 struct cmd_ds_mesh_config cmd; 378 378 struct mrvl_mesh_defaults defs; 379 379 struct mrvl_meshie *ie; 380 - struct lbs_private *priv = netdev_priv(to_net_dev(dev)); 380 + struct lbs_private *priv = to_net_dev(dev)->ml_priv; 381 381 uint32_t datum; 382 382 int ret; 383 383
+2 -2
drivers/net/wireless/libertas/scan.c
··· 945 945 union iwreq_data *wrqu, char *extra) 946 946 { 947 947 DECLARE_SSID_BUF(ssid); 948 - struct lbs_private *priv = netdev_priv(dev); 948 + struct lbs_private *priv = dev->ml_priv; 949 949 int ret = 0; 950 950 951 951 lbs_deb_enter(LBS_DEB_WEXT); ··· 1008 1008 struct iw_point *dwrq, char *extra) 1009 1009 { 1010 1010 #define SCAN_ITEM_SIZE 128 1011 - struct lbs_private *priv = netdev_priv(dev); 1011 + struct lbs_private *priv = dev->ml_priv; 1012 1012 int err = 0; 1013 1013 char *ev = extra; 1014 1014 char *stop = ev + dwrq->length;
+1 -1
drivers/net/wireless/libertas/tx.c
··· 60 60 int lbs_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) 61 61 { 62 62 unsigned long flags; 63 - struct lbs_private *priv = netdev_priv(dev); 63 + struct lbs_private *priv = dev->ml_priv; 64 64 struct txpd *txpd; 65 65 char *p802x_hdr; 66 66 uint16_t pkt_len;
+36 -36
drivers/net/wireless/libertas/wext.c
··· 163 163 static int lbs_get_freq(struct net_device *dev, struct iw_request_info *info, 164 164 struct iw_freq *fwrq, char *extra) 165 165 { 166 - struct lbs_private *priv = netdev_priv(dev); 166 + struct lbs_private *priv = dev->ml_priv; 167 167 struct chan_freq_power *cfp; 168 168 169 169 lbs_deb_enter(LBS_DEB_WEXT); ··· 189 189 static int lbs_get_wap(struct net_device *dev, struct iw_request_info *info, 190 190 struct sockaddr *awrq, char *extra) 191 191 { 192 - struct lbs_private *priv = netdev_priv(dev); 192 + struct lbs_private *priv = dev->ml_priv; 193 193 194 194 lbs_deb_enter(LBS_DEB_WEXT); 195 195 ··· 207 207 static int lbs_set_nick(struct net_device *dev, struct iw_request_info *info, 208 208 struct iw_point *dwrq, char *extra) 209 209 { 210 - struct lbs_private *priv = netdev_priv(dev); 210 + struct lbs_private *priv = dev->ml_priv; 211 211 212 212 lbs_deb_enter(LBS_DEB_WEXT); 213 213 ··· 231 231 static int lbs_get_nick(struct net_device *dev, struct iw_request_info *info, 232 232 struct iw_point *dwrq, char *extra) 233 233 { 234 - struct lbs_private *priv = netdev_priv(dev); 234 + struct lbs_private *priv = dev->ml_priv; 235 235 236 236 lbs_deb_enter(LBS_DEB_WEXT); 237 237 ··· 248 248 static int mesh_get_nick(struct net_device *dev, struct iw_request_info *info, 249 249 struct iw_point *dwrq, char *extra) 250 250 { 251 - struct lbs_private *priv = netdev_priv(dev); 251 + struct lbs_private *priv = dev->ml_priv; 252 252 253 253 lbs_deb_enter(LBS_DEB_WEXT); 254 254 ··· 273 273 struct iw_param *vwrq, char *extra) 274 274 { 275 275 int ret = 0; 276 - struct lbs_private *priv = netdev_priv(dev); 276 + struct lbs_private *priv = dev->ml_priv; 277 277 u32 val = vwrq->value; 278 278 279 279 lbs_deb_enter(LBS_DEB_WEXT); ··· 293 293 static int lbs_get_rts(struct net_device *dev, struct iw_request_info *info, 294 294 struct iw_param *vwrq, char *extra) 295 295 { 296 - struct lbs_private *priv = netdev_priv(dev); 296 + struct lbs_private *priv = dev->ml_priv; 297 297 int ret = 0; 298 298 u16 val = 0; 299 299 ··· 315 315 static int lbs_set_frag(struct net_device *dev, struct iw_request_info *info, 316 316 struct iw_param *vwrq, char *extra) 317 317 { 318 - struct lbs_private *priv = netdev_priv(dev); 318 + struct lbs_private *priv = dev->ml_priv; 319 319 int ret = 0; 320 320 u32 val = vwrq->value; 321 321 ··· 336 336 static int lbs_get_frag(struct net_device *dev, struct iw_request_info *info, 337 337 struct iw_param *vwrq, char *extra) 338 338 { 339 - struct lbs_private *priv = netdev_priv(dev); 339 + struct lbs_private *priv = dev->ml_priv; 340 340 int ret = 0; 341 341 u16 val = 0; 342 342 ··· 359 359 static int lbs_get_mode(struct net_device *dev, 360 360 struct iw_request_info *info, u32 * uwrq, char *extra) 361 361 { 362 - struct lbs_private *priv = netdev_priv(dev); 362 + struct lbs_private *priv = dev->ml_priv; 363 363 364 364 lbs_deb_enter(LBS_DEB_WEXT); 365 365 ··· 385 385 struct iw_request_info *info, 386 386 struct iw_param *vwrq, char *extra) 387 387 { 388 - struct lbs_private *priv = netdev_priv(dev); 388 + struct lbs_private *priv = dev->ml_priv; 389 389 s16 curlevel = 0; 390 390 int ret = 0; 391 391 ··· 418 418 static int lbs_set_retry(struct net_device *dev, struct iw_request_info *info, 419 419 struct iw_param *vwrq, char *extra) 420 420 { 421 - struct lbs_private *priv = netdev_priv(dev); 421 + struct lbs_private *priv = dev->ml_priv; 422 422 int ret = 0; 423 423 u16 slimit = 0, llimit = 0; 424 424 ··· 466 466 static int lbs_get_retry(struct net_device *dev, struct iw_request_info *info, 467 467 struct iw_param *vwrq, char *extra) 468 468 { 469 - struct lbs_private *priv = netdev_priv(dev); 469 + struct lbs_private *priv = dev->ml_priv; 470 470 int ret = 0; 471 471 u16 val = 0; 472 472 ··· 542 542 struct iw_point *dwrq, char *extra) 543 543 { 544 544 int i, j; 545 - struct lbs_private *priv = netdev_priv(dev); 545 + struct lbs_private *priv = dev->ml_priv; 546 546 struct iw_range *range = (struct iw_range *)extra; 547 547 struct chan_freq_power *cfp; 548 548 u8 rates[MAX_RATES + 1]; ··· 708 708 static int lbs_set_power(struct net_device *dev, struct iw_request_info *info, 709 709 struct iw_param *vwrq, char *extra) 710 710 { 711 - struct lbs_private *priv = netdev_priv(dev); 711 + struct lbs_private *priv = dev->ml_priv; 712 712 713 713 lbs_deb_enter(LBS_DEB_WEXT); 714 714 ··· 758 758 static int lbs_get_power(struct net_device *dev, struct iw_request_info *info, 759 759 struct iw_param *vwrq, char *extra) 760 760 { 761 - struct lbs_private *priv = netdev_priv(dev); 761 + struct lbs_private *priv = dev->ml_priv; 762 762 763 763 lbs_deb_enter(LBS_DEB_WEXT); 764 764 ··· 781 781 EXCELLENT = 95, 782 782 PERFECT = 100 783 783 }; 784 - struct lbs_private *priv = netdev_priv(dev); 784 + struct lbs_private *priv = dev->ml_priv; 785 785 u32 rssi_qual; 786 786 u32 tx_qual; 787 787 u32 quality = 0; ··· 886 886 struct iw_freq *fwrq, char *extra) 887 887 { 888 888 int ret = -EINVAL; 889 - struct lbs_private *priv = netdev_priv(dev); 889 + struct lbs_private *priv = dev->ml_priv; 890 890 struct chan_freq_power *cfp; 891 891 struct assoc_request * assoc_req; 892 892 ··· 943 943 struct iw_request_info *info, 944 944 struct iw_freq *fwrq, char *extra) 945 945 { 946 - struct lbs_private *priv = netdev_priv(dev); 946 + struct lbs_private *priv = dev->ml_priv; 947 947 struct chan_freq_power *cfp; 948 948 int ret = -EINVAL; 949 949 ··· 994 994 static int lbs_set_rate(struct net_device *dev, struct iw_request_info *info, 995 995 struct iw_param *vwrq, char *extra) 996 996 { 997 - struct lbs_private *priv = netdev_priv(dev); 997 + struct lbs_private *priv = dev->ml_priv; 998 998 u8 new_rate = 0; 999 999 int ret = -EINVAL; 1000 1000 u8 rates[MAX_RATES + 1]; ··· 1054 1054 static int lbs_get_rate(struct net_device *dev, struct iw_request_info *info, 1055 1055 struct iw_param *vwrq, char *extra) 1056 1056 { 1057 - struct lbs_private *priv = netdev_priv(dev); 1057 + struct lbs_private *priv = dev->ml_priv; 1058 1058 1059 1059 lbs_deb_enter(LBS_DEB_WEXT); 1060 1060 ··· 1079 1079 struct iw_request_info *info, u32 * uwrq, char *extra) 1080 1080 { 1081 1081 int ret = 0; 1082 - struct lbs_private *priv = netdev_priv(dev); 1082 + struct lbs_private *priv = dev->ml_priv; 1083 1083 struct assoc_request * assoc_req; 1084 1084 1085 1085 lbs_deb_enter(LBS_DEB_WEXT); ··· 1124 1124 struct iw_request_info *info, 1125 1125 struct iw_point *dwrq, u8 * extra) 1126 1126 { 1127 - struct lbs_private *priv = netdev_priv(dev); 1127 + struct lbs_private *priv = dev->ml_priv; 1128 1128 int index = (dwrq->flags & IW_ENCODE_INDEX) - 1; 1129 1129 1130 1130 lbs_deb_enter(LBS_DEB_WEXT); ··· 1319 1319 struct iw_point *dwrq, char *extra) 1320 1320 { 1321 1321 int ret = 0; 1322 - struct lbs_private *priv = netdev_priv(dev); 1322 + struct lbs_private *priv = dev->ml_priv; 1323 1323 struct assoc_request * assoc_req; 1324 1324 u16 is_default = 0, index = 0, set_tx_key = 0; 1325 1325 ··· 1395 1395 char *extra) 1396 1396 { 1397 1397 int ret = -EINVAL; 1398 - struct lbs_private *priv = netdev_priv(dev); 1398 + struct lbs_private *priv = dev->ml_priv; 1399 1399 struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; 1400 1400 int index, max_key_len; 1401 1401 ··· 1501 1501 char *extra) 1502 1502 { 1503 1503 int ret = 0; 1504 - struct lbs_private *priv = netdev_priv(dev); 1504 + struct lbs_private *priv = dev->ml_priv; 1505 1505 struct iw_encode_ext *ext = (struct iw_encode_ext *)extra; 1506 1506 int alg = ext->alg; 1507 1507 struct assoc_request * assoc_req; ··· 1639 1639 struct iw_point *dwrq, 1640 1640 char *extra) 1641 1641 { 1642 - struct lbs_private *priv = netdev_priv(dev); 1642 + struct lbs_private *priv = dev->ml_priv; 1643 1643 int ret = 0; 1644 1644 struct assoc_request * assoc_req; 1645 1645 ··· 1685 1685 char *extra) 1686 1686 { 1687 1687 int ret = 0; 1688 - struct lbs_private *priv = netdev_priv(dev); 1688 + struct lbs_private *priv = dev->ml_priv; 1689 1689 1690 1690 lbs_deb_enter(LBS_DEB_WEXT); 1691 1691 ··· 1713 1713 struct iw_param *dwrq, 1714 1714 char *extra) 1715 1715 { 1716 - struct lbs_private *priv = netdev_priv(dev); 1716 + struct lbs_private *priv = dev->ml_priv; 1717 1717 struct assoc_request * assoc_req; 1718 1718 int ret = 0; 1719 1719 int updated = 0; ··· 1816 1816 char *extra) 1817 1817 { 1818 1818 int ret = 0; 1819 - struct lbs_private *priv = netdev_priv(dev); 1819 + struct lbs_private *priv = dev->ml_priv; 1820 1820 1821 1821 lbs_deb_enter(LBS_DEB_WEXT); 1822 1822 ··· 1857 1857 struct iw_param *vwrq, char *extra) 1858 1858 { 1859 1859 int ret = 0; 1860 - struct lbs_private *priv = netdev_priv(dev); 1860 + struct lbs_private *priv = dev->ml_priv; 1861 1861 s16 dbm = (s16) vwrq->value; 1862 1862 1863 1863 lbs_deb_enter(LBS_DEB_WEXT); ··· 1936 1936 static int lbs_get_essid(struct net_device *dev, struct iw_request_info *info, 1937 1937 struct iw_point *dwrq, char *extra) 1938 1938 { 1939 - struct lbs_private *priv = netdev_priv(dev); 1939 + struct lbs_private *priv = dev->ml_priv; 1940 1940 1941 1941 lbs_deb_enter(LBS_DEB_WEXT); 1942 1942 ··· 1971 1971 static int lbs_set_essid(struct net_device *dev, struct iw_request_info *info, 1972 1972 struct iw_point *dwrq, char *extra) 1973 1973 { 1974 - struct lbs_private *priv = netdev_priv(dev); 1974 + struct lbs_private *priv = dev->ml_priv; 1975 1975 int ret = 0; 1976 1976 u8 ssid[IW_ESSID_MAX_SIZE]; 1977 1977 u8 ssid_len = 0; ··· 2040 2040 struct iw_request_info *info, 2041 2041 struct iw_point *dwrq, char *extra) 2042 2042 { 2043 - struct lbs_private *priv = netdev_priv(dev); 2043 + struct lbs_private *priv = dev->ml_priv; 2044 2044 2045 2045 lbs_deb_enter(LBS_DEB_WEXT); 2046 2046 ··· 2058 2058 struct iw_request_info *info, 2059 2059 struct iw_point *dwrq, char *extra) 2060 2060 { 2061 - struct lbs_private *priv = netdev_priv(dev); 2061 + struct lbs_private *priv = dev->ml_priv; 2062 2062 int ret = 0; 2063 2063 2064 2064 lbs_deb_enter(LBS_DEB_WEXT); ··· 2102 2102 static int lbs_set_wap(struct net_device *dev, struct iw_request_info *info, 2103 2103 struct sockaddr *awrq, char *extra) 2104 2104 { 2105 - struct lbs_private *priv = netdev_priv(dev); 2105 + struct lbs_private *priv = dev->ml_priv; 2106 2106 struct assoc_request * assoc_req; 2107 2107 int ret = 0; 2108 2108