diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-06-08 15:48:25 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-06-08 15:48:25 -0400 |
commit | ba9b28d19a3251bb1dfe6a6f8cc89b96fb85f683 (patch) | |
tree | d770bd8c536771cb3804abb51ed029d7dd9d30d2 /drivers | |
parent | 862fc81b62c2d41a7e0b97b90844c80e59c7b0f1 (diff) | |
parent | 5c601d0c942f5aaf7f3cff7e08f61047d70a964e (diff) |
Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/Kconfig | 17 | ||||
-rw-r--r-- | drivers/net/wireless/Makefile | 2 | ||||
-rw-r--r-- | drivers/net/wireless/bcm43xx/bcm43xx_main.c | 13 | ||||
-rw-r--r-- | drivers/net/wireless/zd1201.c (renamed from drivers/usb/net/zd1201.c) | 67 | ||||
-rw-r--r-- | drivers/net/wireless/zd1201.h (renamed from drivers/usb/net/zd1201.h) | 0 | ||||
-rw-r--r-- | drivers/usb/net/Kconfig | 17 | ||||
-rw-r--r-- | drivers/usb/net/Makefile | 1 |
7 files changed, 52 insertions, 65 deletions
diff --git a/drivers/net/wireless/Kconfig b/drivers/net/wireless/Kconfig index d7691c482835..30ec235e6935 100644 --- a/drivers/net/wireless/Kconfig +++ b/drivers/net/wireless/Kconfig | |||
@@ -531,6 +531,23 @@ config PRISM54 | |||
531 | say M here and read <file:Documentation/modules.txt>. The module | 531 | say M here and read <file:Documentation/modules.txt>. The module |
532 | will be called prism54.ko. | 532 | will be called prism54.ko. |
533 | 533 | ||
534 | config USB_ZD1201 | ||
535 | tristate "USB ZD1201 based Wireless device support" | ||
536 | depends on USB && NET_RADIO | ||
537 | select FW_LOADER | ||
538 | ---help--- | ||
539 | Say Y if you want to use wireless LAN adapters based on the ZyDAS | ||
540 | ZD1201 chip. | ||
541 | |||
542 | This driver makes the adapter appear as a normal Ethernet interface, | ||
543 | typically on wlan0. | ||
544 | |||
545 | The zd1201 device requires external firmware to be loaded. | ||
546 | This can be found at http://linux-lc100020.sourceforge.net/ | ||
547 | |||
548 | To compile this driver as a module, choose M here: the | ||
549 | module will be called zd1201. | ||
550 | |||
534 | source "drivers/net/wireless/hostap/Kconfig" | 551 | source "drivers/net/wireless/hostap/Kconfig" |
535 | source "drivers/net/wireless/bcm43xx/Kconfig" | 552 | source "drivers/net/wireless/bcm43xx/Kconfig" |
536 | 553 | ||
diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile index c86779879361..512603de309a 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile | |||
@@ -40,3 +40,5 @@ obj-$(CONFIG_BCM43XX) += bcm43xx/ | |||
40 | # 16-bit wireless PCMCIA client drivers | 40 | # 16-bit wireless PCMCIA client drivers |
41 | obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o | 41 | obj-$(CONFIG_PCMCIA_RAYCS) += ray_cs.o |
42 | obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o | 42 | obj-$(CONFIG_PCMCIA_WL3501) += wl3501_cs.o |
43 | |||
44 | obj-$(CONFIG_USB_ZD1201) += zd1201.o | ||
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c index c0502905a956..736dde96c4a3 100644 --- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c +++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c | |||
@@ -3555,7 +3555,7 @@ static void bcm43xx_ieee80211_set_security(struct net_device *net_dev, | |||
3555 | unsigned long flags; | 3555 | unsigned long flags; |
3556 | int keyidx; | 3556 | int keyidx; |
3557 | 3557 | ||
3558 | dprintk(KERN_INFO PFX "set security called\n"); | 3558 | dprintk(KERN_INFO PFX "set security called"); |
3559 | 3559 | ||
3560 | bcm43xx_lock_mmio(bcm, flags); | 3560 | bcm43xx_lock_mmio(bcm, flags); |
3561 | 3561 | ||
@@ -3568,24 +3568,25 @@ static void bcm43xx_ieee80211_set_security(struct net_device *net_dev, | |||
3568 | 3568 | ||
3569 | if (sec->flags & SEC_ACTIVE_KEY) { | 3569 | if (sec->flags & SEC_ACTIVE_KEY) { |
3570 | secinfo->active_key = sec->active_key; | 3570 | secinfo->active_key = sec->active_key; |
3571 | dprintk(KERN_INFO PFX " .active_key = %d\n", sec->active_key); | 3571 | dprintk(", .active_key = %d", sec->active_key); |
3572 | } | 3572 | } |
3573 | if (sec->flags & SEC_UNICAST_GROUP) { | 3573 | if (sec->flags & SEC_UNICAST_GROUP) { |
3574 | secinfo->unicast_uses_group = sec->unicast_uses_group; | 3574 | secinfo->unicast_uses_group = sec->unicast_uses_group; |
3575 | dprintk(KERN_INFO PFX " .unicast_uses_group = %d\n", sec->unicast_uses_group); | 3575 | dprintk(", .unicast_uses_group = %d", sec->unicast_uses_group); |
3576 | } | 3576 | } |
3577 | if (sec->flags & SEC_LEVEL) { | 3577 | if (sec->flags & SEC_LEVEL) { |
3578 | secinfo->level = sec->level; | 3578 | secinfo->level = sec->level; |
3579 | dprintk(KERN_INFO PFX " .level = %d\n", sec->level); | 3579 | dprintk(", .level = %d", sec->level); |
3580 | } | 3580 | } |
3581 | if (sec->flags & SEC_ENABLED) { | 3581 | if (sec->flags & SEC_ENABLED) { |
3582 | secinfo->enabled = sec->enabled; | 3582 | secinfo->enabled = sec->enabled; |
3583 | dprintk(KERN_INFO PFX " .enabled = %d\n", sec->enabled); | 3583 | dprintk(", .enabled = %d", sec->enabled); |
3584 | } | 3584 | } |
3585 | if (sec->flags & SEC_ENCRYPT) { | 3585 | if (sec->flags & SEC_ENCRYPT) { |
3586 | secinfo->encrypt = sec->encrypt; | 3586 | secinfo->encrypt = sec->encrypt; |
3587 | dprintk(KERN_INFO PFX " .encrypt = %d\n", sec->encrypt); | 3587 | dprintk(", .encrypt = %d", sec->encrypt); |
3588 | } | 3588 | } |
3589 | dprintk("\n"); | ||
3589 | if (bcm->initialized && !bcm->ieee->host_encrypt) { | 3590 | if (bcm->initialized && !bcm->ieee->host_encrypt) { |
3590 | if (secinfo->enabled) { | 3591 | if (secinfo->enabled) { |
3591 | /* upload WEP keys to hardware */ | 3592 | /* upload WEP keys to hardware */ |
diff --git a/drivers/usb/net/zd1201.c b/drivers/net/wireless/zd1201.c index 9b1e4ed1d07e..662ecc8a33ff 100644 --- a/drivers/usb/net/zd1201.c +++ b/drivers/net/wireless/zd1201.c | |||
@@ -33,7 +33,7 @@ static struct usb_device_id zd1201_table[] = { | |||
33 | {} | 33 | {} |
34 | }; | 34 | }; |
35 | 35 | ||
36 | static int ap = 0; /* Are we an AP or a normal station? */ | 36 | static int ap; /* Are we an AP or a normal station? */ |
37 | 37 | ||
38 | #define ZD1201_VERSION "0.15" | 38 | #define ZD1201_VERSION "0.15" |
39 | 39 | ||
@@ -49,7 +49,7 @@ MODULE_DEVICE_TABLE(usb, zd1201_table); | |||
49 | static int zd1201_fw_upload(struct usb_device *dev, int apfw) | 49 | static int zd1201_fw_upload(struct usb_device *dev, int apfw) |
50 | { | 50 | { |
51 | const struct firmware *fw_entry; | 51 | const struct firmware *fw_entry; |
52 | char* data; | 52 | char *data; |
53 | unsigned long len; | 53 | unsigned long len; |
54 | int err; | 54 | int err; |
55 | unsigned char ret; | 55 | unsigned char ret; |
@@ -65,7 +65,7 @@ static int zd1201_fw_upload(struct usb_device *dev, int apfw) | |||
65 | if (err) { | 65 | if (err) { |
66 | dev_err(&dev->dev, "Failed to load %s firmware file!\n", fwfile); | 66 | dev_err(&dev->dev, "Failed to load %s firmware file!\n", fwfile); |
67 | dev_err(&dev->dev, "Make sure the hotplug firmware loader is installed.\n"); | 67 | dev_err(&dev->dev, "Make sure the hotplug firmware loader is installed.\n"); |
68 | dev_err(&dev->dev, "Goto http://linux-lc100020.sourceforge.net for more info\n"); | 68 | dev_err(&dev->dev, "Goto http://linux-lc100020.sourceforge.net for more info.\n"); |
69 | return err; | 69 | return err; |
70 | } | 70 | } |
71 | 71 | ||
@@ -94,12 +94,12 @@ static int zd1201_fw_upload(struct usb_device *dev, int apfw) | |||
94 | USB_DIR_OUT | 0x40, 0, 0, NULL, 0, ZD1201_FW_TIMEOUT); | 94 | USB_DIR_OUT | 0x40, 0, 0, NULL, 0, ZD1201_FW_TIMEOUT); |
95 | if (err < 0) | 95 | if (err < 0) |
96 | goto exit; | 96 | goto exit; |
97 | 97 | ||
98 | err = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 0x4, | 98 | err = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), 0x4, |
99 | USB_DIR_IN | 0x40, 0,0, &ret, sizeof(ret), ZD1201_FW_TIMEOUT); | 99 | USB_DIR_IN | 0x40, 0,0, &ret, sizeof(ret), ZD1201_FW_TIMEOUT); |
100 | if (err < 0) | 100 | if (err < 0) |
101 | goto exit; | 101 | goto exit; |
102 | 102 | ||
103 | if (ret & 0x80) { | 103 | if (ret & 0x80) { |
104 | err = -EIO; | 104 | err = -EIO; |
105 | goto exit; | 105 | goto exit; |
@@ -166,13 +166,13 @@ static int zd1201_docmd(struct zd1201 *zd, int cmd, int parm0, | |||
166 | return -ENOMEM; | 166 | return -ENOMEM; |
167 | } | 167 | } |
168 | usb_fill_bulk_urb(urb, zd->usb, usb_sndbulkpipe(zd->usb, zd->endp_out2), | 168 | usb_fill_bulk_urb(urb, zd->usb, usb_sndbulkpipe(zd->usb, zd->endp_out2), |
169 | command, 16, zd1201_usbfree, zd); | 169 | command, 16, zd1201_usbfree, zd); |
170 | ret = usb_submit_urb(urb, GFP_ATOMIC); | 170 | ret = usb_submit_urb(urb, GFP_ATOMIC); |
171 | if (ret) { | 171 | if (ret) { |
172 | kfree(command); | 172 | kfree(command); |
173 | usb_free_urb(urb); | 173 | usb_free_urb(urb); |
174 | } | 174 | } |
175 | 175 | ||
176 | return ret; | 176 | return ret; |
177 | } | 177 | } |
178 | 178 | ||
@@ -316,7 +316,7 @@ static void zd1201_usbrx(struct urb *urb, struct pt_regs *regs) | |||
316 | fc = le16_to_cpu(*(__le16 *)&data[datalen-16]); | 316 | fc = le16_to_cpu(*(__le16 *)&data[datalen-16]); |
317 | seq = le16_to_cpu(*(__le16 *)&data[datalen-24]); | 317 | seq = le16_to_cpu(*(__le16 *)&data[datalen-24]); |
318 | 318 | ||
319 | if(zd->monitor) { | 319 | if (zd->monitor) { |
320 | if (datalen < 24) | 320 | if (datalen < 24) |
321 | goto resubmit; | 321 | goto resubmit; |
322 | if (!(skb = dev_alloc_skb(datalen+24))) | 322 | if (!(skb = dev_alloc_skb(datalen+24))) |
@@ -364,7 +364,7 @@ static void zd1201_usbrx(struct urb *urb, struct pt_regs *regs) | |||
364 | goto resubmit; | 364 | goto resubmit; |
365 | } | 365 | } |
366 | hlist_for_each_entry(frag, node, &zd->fraglist, fnode) | 366 | hlist_for_each_entry(frag, node, &zd->fraglist, fnode) |
367 | if(frag->seq == (seq&IEEE80211_SCTL_SEQ)) | 367 | if (frag->seq == (seq&IEEE80211_SCTL_SEQ)) |
368 | break; | 368 | break; |
369 | if (!frag) | 369 | if (!frag) |
370 | goto resubmit; | 370 | goto resubmit; |
@@ -376,7 +376,6 @@ static void zd1201_usbrx(struct urb *urb, struct pt_regs *regs) | |||
376 | goto resubmit; | 376 | goto resubmit; |
377 | hlist_del_init(&frag->fnode); | 377 | hlist_del_init(&frag->fnode); |
378 | kfree(frag); | 378 | kfree(frag); |
379 | /* Fallthrough */ | ||
380 | } else { | 379 | } else { |
381 | if (datalen<14) | 380 | if (datalen<14) |
382 | goto resubmit; | 381 | goto resubmit; |
@@ -422,7 +421,7 @@ static int zd1201_getconfig(struct zd1201 *zd, int rid, void *riddata, | |||
422 | int rid_fid; | 421 | int rid_fid; |
423 | int length; | 422 | int length; |
424 | unsigned char *pdata; | 423 | unsigned char *pdata; |
425 | 424 | ||
426 | zd->rxdatas = 0; | 425 | zd->rxdatas = 0; |
427 | err = zd1201_docmd(zd, ZD1201_CMDCODE_ACCESS, rid, 0, 0); | 426 | err = zd1201_docmd(zd, ZD1201_CMDCODE_ACCESS, rid, 0, 0); |
428 | if (err) | 427 | if (err) |
@@ -471,11 +470,11 @@ static int zd1201_getconfig(struct zd1201 *zd, int rid, void *riddata, | |||
471 | length = zd->rxlen; | 470 | length = zd->rxlen; |
472 | 471 | ||
473 | do { | 472 | do { |
474 | int actual_length; | 473 | int actual_length; |
475 | 474 | ||
476 | actual_length = (length > 64) ? 64 : length; | 475 | actual_length = (length > 64) ? 64 : length; |
477 | 476 | ||
478 | if(pdata[0] != 0x3) { | 477 | if (pdata[0] != 0x3) { |
479 | dev_dbg(&zd->usb->dev, "Rx Resource packet type error: %02X\n", | 478 | dev_dbg(&zd->usb->dev, "Rx Resource packet type error: %02X\n", |
480 | pdata[0]); | 479 | pdata[0]); |
481 | return -EINVAL; | 480 | return -EINVAL; |
@@ -487,11 +486,10 @@ static int zd1201_getconfig(struct zd1201 *zd, int rid, void *riddata, | |||
487 | } | 486 | } |
488 | 487 | ||
489 | /* Skip the 4 bytes header (RID length and RID) */ | 488 | /* Skip the 4 bytes header (RID length and RID) */ |
490 | if(i == 0) { | 489 | if (i == 0) { |
491 | pdata += 8; | 490 | pdata += 8; |
492 | actual_length -= 8; | 491 | actual_length -= 8; |
493 | } | 492 | } else { |
494 | else { | ||
495 | pdata += 4; | 493 | pdata += 4; |
496 | actual_length -= 4; | 494 | actual_length -= 4; |
497 | } | 495 | } |
@@ -620,7 +618,7 @@ static int zd1201_drvr_start(struct zd1201 *zd) | |||
620 | short max; | 618 | short max; |
621 | __le16 zdmax; | 619 | __le16 zdmax; |
622 | unsigned char *buffer; | 620 | unsigned char *buffer; |
623 | 621 | ||
624 | buffer = kzalloc(ZD1201_RXSIZE, GFP_KERNEL); | 622 | buffer = kzalloc(ZD1201_RXSIZE, GFP_KERNEL); |
625 | if (!buffer) | 623 | if (!buffer) |
626 | return -ENOMEM; | 624 | return -ENOMEM; |
@@ -632,7 +630,7 @@ static int zd1201_drvr_start(struct zd1201 *zd) | |||
632 | err = usb_submit_urb(zd->rx_urb, GFP_KERNEL); | 630 | err = usb_submit_urb(zd->rx_urb, GFP_KERNEL); |
633 | if (err) | 631 | if (err) |
634 | goto err_buffer; | 632 | goto err_buffer; |
635 | 633 | ||
636 | err = zd1201_docmd(zd, ZD1201_CMDCODE_INIT, 0, 0, 0); | 634 | err = zd1201_docmd(zd, ZD1201_CMDCODE_INIT, 0, 0, 0); |
637 | if (err) | 635 | if (err) |
638 | goto err_urb; | 636 | goto err_urb; |
@@ -684,7 +682,7 @@ static int zd1201_enable(struct zd1201 *zd) | |||
684 | static int zd1201_disable(struct zd1201 *zd) | 682 | static int zd1201_disable(struct zd1201 *zd) |
685 | { | 683 | { |
686 | int err; | 684 | int err; |
687 | 685 | ||
688 | if (!zd->mac_enabled) | 686 | if (!zd->mac_enabled) |
689 | return 0; | 687 | return 0; |
690 | if (zd->monitor) { | 688 | if (zd->monitor) { |
@@ -764,7 +762,6 @@ static int zd1201_net_open(struct net_device *dev) | |||
764 | static int zd1201_net_stop(struct net_device *dev) | 762 | static int zd1201_net_stop(struct net_device *dev) |
765 | { | 763 | { |
766 | netif_stop_queue(dev); | 764 | netif_stop_queue(dev); |
767 | |||
768 | return 0; | 765 | return 0; |
769 | } | 766 | } |
770 | 767 | ||
@@ -915,7 +912,6 @@ static int zd1201_get_name(struct net_device *dev, | |||
915 | struct iw_request_info *info, char *name, char *extra) | 912 | struct iw_request_info *info, char *name, char *extra) |
916 | { | 913 | { |
917 | strcpy(name, "IEEE 802.11b"); | 914 | strcpy(name, "IEEE 802.11b"); |
918 | |||
919 | return 0; | 915 | return 0; |
920 | } | 916 | } |
921 | 917 | ||
@@ -1013,11 +1009,10 @@ static int zd1201_set_mode(struct net_device *dev, | |||
1013 | if (err) | 1009 | if (err) |
1014 | return err; | 1010 | return err; |
1015 | } | 1011 | } |
1016 | zd->monitor=monitor; | 1012 | zd->monitor = monitor; |
1017 | /* If monitor mode is set we don't actually turn it on here since it | 1013 | /* If monitor mode is set we don't actually turn it on here since it |
1018 | * is done during mac reset anyway (see zd1201_mac_enable). | 1014 | * is done during mac reset anyway (see zd1201_mac_enable). |
1019 | */ | 1015 | */ |
1020 | |||
1021 | zd1201_mac_reset(zd); | 1016 | zd1201_mac_reset(zd); |
1022 | 1017 | ||
1023 | return 0; | 1018 | return 0; |
@@ -1117,7 +1112,7 @@ static int zd1201_get_wap(struct net_device *dev, | |||
1117 | zd->iwstats.qual.updated = 2; | 1112 | zd->iwstats.qual.updated = 2; |
1118 | } | 1113 | } |
1119 | 1114 | ||
1120 | return zd1201_getconfig(zd,ZD1201_RID_CURRENTBSSID,ap_addr->sa_data,6); | 1115 | return zd1201_getconfig(zd, ZD1201_RID_CURRENTBSSID, ap_addr->sa_data, 6); |
1121 | } | 1116 | } |
1122 | 1117 | ||
1123 | static int zd1201_set_scan(struct net_device *dev, | 1118 | static int zd1201_set_scan(struct net_device *dev, |
@@ -1275,7 +1270,7 @@ static int zd1201_set_rate(struct net_device *dev, | |||
1275 | if (!rrq->fixed) { /* Also enable all lower bitrates */ | 1270 | if (!rrq->fixed) { /* Also enable all lower bitrates */ |
1276 | rate |= rate-1; | 1271 | rate |= rate-1; |
1277 | } | 1272 | } |
1278 | 1273 | ||
1279 | err = zd1201_setconfig16(zd, ZD1201_RID_TXRATECNTL, rate); | 1274 | err = zd1201_setconfig16(zd, ZD1201_RID_TXRATECNTL, rate); |
1280 | if (err) | 1275 | if (err) |
1281 | return err; | 1276 | return err; |
@@ -1486,7 +1481,7 @@ static int zd1201_get_encode(struct net_device *dev, | |||
1486 | return -EINVAL; | 1481 | return -EINVAL; |
1487 | 1482 | ||
1488 | erq->flags |= i+1; | 1483 | erq->flags |= i+1; |
1489 | 1484 | ||
1490 | erq->length = zd->encode_keylen[i]; | 1485 | erq->length = zd->encode_keylen[i]; |
1491 | memcpy(key, zd->encode_keys[i], erq->length); | 1486 | memcpy(key, zd->encode_keys[i], erq->length); |
1492 | 1487 | ||
@@ -1529,11 +1524,7 @@ static int zd1201_set_power(struct net_device *dev, | |||
1529 | return -EINVAL; | 1524 | return -EINVAL; |
1530 | } | 1525 | } |
1531 | out: | 1526 | out: |
1532 | err = zd1201_setconfig16(zd, ZD1201_RID_CNFPMENABLED, enabled); | 1527 | return zd1201_setconfig16(zd, ZD1201_RID_CNFPMENABLED, enabled); |
1533 | if (err) | ||
1534 | return err; | ||
1535 | |||
1536 | return 0; | ||
1537 | } | 1528 | } |
1538 | 1529 | ||
1539 | static int zd1201_get_power(struct net_device *dev, | 1530 | static int zd1201_get_power(struct net_device *dev, |
@@ -1627,15 +1618,11 @@ static int zd1201_set_hostauth(struct net_device *dev, | |||
1627 | struct iw_request_info *info, struct iw_param *rrq, char *extra) | 1618 | struct iw_request_info *info, struct iw_param *rrq, char *extra) |
1628 | { | 1619 | { |
1629 | struct zd1201 *zd = (struct zd1201 *)dev->priv; | 1620 | struct zd1201 *zd = (struct zd1201 *)dev->priv; |
1630 | int err; | ||
1631 | 1621 | ||
1632 | if (!zd->ap) | 1622 | if (!zd->ap) |
1633 | return -EOPNOTSUPP; | 1623 | return -EOPNOTSUPP; |
1634 | 1624 | ||
1635 | err = zd1201_setconfig16(zd, ZD1201_RID_CNFHOSTAUTH, rrq->value); | 1625 | return zd1201_setconfig16(zd, ZD1201_RID_CNFHOSTAUTH, rrq->value); |
1636 | if (err) | ||
1637 | return err; | ||
1638 | return 0; | ||
1639 | } | 1626 | } |
1640 | 1627 | ||
1641 | static int zd1201_get_hostauth(struct net_device *dev, | 1628 | static int zd1201_get_hostauth(struct net_device *dev, |
@@ -1744,7 +1731,7 @@ static int zd1201_probe(struct usb_interface *interface, | |||
1744 | { | 1731 | { |
1745 | struct zd1201 *zd; | 1732 | struct zd1201 *zd; |
1746 | struct usb_device *usb; | 1733 | struct usb_device *usb; |
1747 | int i, err; | 1734 | int err; |
1748 | short porttype; | 1735 | short porttype; |
1749 | char buf[IW_ESSID_MAX_SIZE+2]; | 1736 | char buf[IW_ESSID_MAX_SIZE+2]; |
1750 | 1737 | ||
@@ -1773,9 +1760,7 @@ static int zd1201_probe(struct usb_interface *interface, | |||
1773 | if (!zd->rx_urb || !zd->tx_urb) | 1760 | if (!zd->rx_urb || !zd->tx_urb) |
1774 | goto err_zd; | 1761 | goto err_zd; |
1775 | 1762 | ||
1776 | for(i = 0; i<100; i++) | 1763 | mdelay(100); |
1777 | udelay(1000); | ||
1778 | |||
1779 | err = zd1201_drvr_start(zd); | 1764 | err = zd1201_drvr_start(zd); |
1780 | if (err) | 1765 | if (err) |
1781 | goto err_zd; | 1766 | goto err_zd; |
@@ -1833,7 +1818,7 @@ static int zd1201_probe(struct usb_interface *interface, | |||
1833 | goto err_net; | 1818 | goto err_net; |
1834 | dev_info(&usb->dev, "%s: ZD1201 USB Wireless interface\n", | 1819 | dev_info(&usb->dev, "%s: ZD1201 USB Wireless interface\n", |
1835 | zd->dev->name); | 1820 | zd->dev->name); |
1836 | 1821 | ||
1837 | usb_set_intfdata(interface, zd); | 1822 | usb_set_intfdata(interface, zd); |
1838 | return 0; | 1823 | return 0; |
1839 | 1824 | ||
diff --git a/drivers/usb/net/zd1201.h b/drivers/net/wireless/zd1201.h index 235f0ee34b24..235f0ee34b24 100644 --- a/drivers/usb/net/zd1201.h +++ b/drivers/net/wireless/zd1201.h | |||
diff --git a/drivers/usb/net/Kconfig b/drivers/usb/net/Kconfig index efd6ca7e4ac5..054059632a21 100644 --- a/drivers/usb/net/Kconfig +++ b/drivers/usb/net/Kconfig | |||
@@ -301,21 +301,4 @@ config USB_NET_ZAURUS | |||
301 | some cases CDC MDLM) protocol, not "g_ether". | 301 | some cases CDC MDLM) protocol, not "g_ether". |
302 | 302 | ||
303 | 303 | ||
304 | config USB_ZD1201 | ||
305 | tristate "USB ZD1201 based Wireless device support" | ||
306 | depends on NET_RADIO | ||
307 | select FW_LOADER | ||
308 | ---help--- | ||
309 | Say Y if you want to use wireless LAN adapters based on the ZyDAS | ||
310 | ZD1201 chip. | ||
311 | |||
312 | This driver makes the adapter appear as a normal Ethernet interface, | ||
313 | typically on wlan0. | ||
314 | |||
315 | The zd1201 device requires external firmware to be loaded. | ||
316 | This can be found at http://linux-lc100020.sourceforge.net/ | ||
317 | |||
318 | To compile this driver as a module, choose M here: the | ||
319 | module will be called zd1201. | ||
320 | |||
321 | endmenu | 304 | endmenu |
diff --git a/drivers/usb/net/Makefile b/drivers/usb/net/Makefile index a21e6eaabaf6..160f19dbdf12 100644 --- a/drivers/usb/net/Makefile +++ b/drivers/usb/net/Makefile | |||
@@ -15,7 +15,6 @@ obj-$(CONFIG_USB_NET_RNDIS_HOST) += rndis_host.o | |||
15 | obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o | 15 | obj-$(CONFIG_USB_NET_CDC_SUBSET) += cdc_subset.o |
16 | obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o | 16 | obj-$(CONFIG_USB_NET_ZAURUS) += zaurus.o |
17 | obj-$(CONFIG_USB_USBNET) += usbnet.o | 17 | obj-$(CONFIG_USB_USBNET) += usbnet.o |
18 | obj-$(CONFIG_USB_ZD1201) += zd1201.o | ||
19 | 18 | ||
20 | ifeq ($(CONFIG_USB_DEBUG),y) | 19 | ifeq ($(CONFIG_USB_DEBUG),y) |
21 | EXTRA_CFLAGS += -DDEBUG | 20 | EXTRA_CFLAGS += -DDEBUG |