7 #define PRISM_USB_DEVICE(vid, pid, name) \
8 USB_DEVICE(vid, pid), \
9 .driver_info = (unsigned long) name
16 (0x1668, 0x0408,
"Actiontec Prism2.5 11Mbps WLAN USB Adapter")},
18 (0x1668, 0x0421,
"Actiontec Prism2.5 11Mbps WLAN USB Adapter")},
20 (0x1915, 0x2236,
"Linksys WUSB11v3.0 11Mbps WLAN USB Adapter")},
22 (0x066b, 0x2212,
"Linksys WUSB11v2.5 11Mbps WLAN USB Adapter")},
24 (0x066b, 0x2213,
"Linksys WUSB12v1.1 11Mbps WLAN USB Adapter")},
26 (0x067c, 0x1022,
"Siemens SpeedStream 1022 11Mbps WLAN USB Adapter")},
29 "Compaq/Intel W100 PRO/Wireless 11Mbps multiport WLAN Adapter")},
31 (0x0411, 0x0016,
"Melco WLI-USB-S11 11Mbps WLAN Adapter")},
33 (0x08de, 0x7a01,
"PRISM25 IEEE 802.11 Mini USB Adapter")},
35 (0x8086, 0x1111,
"Intel PRO/Wireless 2011B LAN USB Adapter")},
37 (0x0d8e, 0x7a01,
"PRISM25 IEEE 802.11 Mini USB Adapter")},
39 (0x045e, 0x006e,
"Microsoft MN510 Wireless USB Adapter")},
42 (0x0cde, 0x0002,
"Z-Com 725/726 Prism2.5 USB/USB Integrated")},
44 (0x0cde, 0x0005,
"Z-Com Xl735 Wireless 802.11b USB Adapter")},
46 (0x413c, 0x8100,
"Dell TrueMobile 1180 Wireless USB Adapter")},
48 (0x0b3b, 0x1601,
"ALLNET 0193 11Mbps WLAN USB Adapter")},
50 (0x0b3b, 0x1602,
"ZyXEL ZyAIR B200 Wireless USB Adapter")},
52 (0x0baf, 0x00eb,
"USRobotics USR1120 Wireless USB Adapter")},
54 (0x0411, 0x0027,
"Melco WLI-USB-KS11G 11Mbps WLAN Adapter")},
56 (0x04f1, 0x3009,
"JVC MP-XP7250 Builtin USB WLAN Adapter")},
62 (0x2001, 0x3702,
"DWL-120 Rev F Wireless USB Adapter")},
69 (0x0411, 0x0044,
"Melco WLI-USB-KB11 11Mbps WLAN Adapter")},
72 (0x124a, 0x4017,
"Pheenet WL-503IA 802.11b USB Adapter")},
75 (0x9016, 0x182d,
"Sitecom WL-022 802.11b USB Adapter")},
77 (0x0543, 0x0f01,
"ViewSonic Airsync USB Adapter 11Mbps (Prism2.5)")},
107 struct usb_device *
dev;
113 dev = interface_to_usbdev(interface);
114 wlandev = create_wlan();
115 if (wlandev ==
NULL) {
122 if (
wlan_setup(wlandev, &(interface->dev)) != 0) {
130 hw->wlandev = wlandev;
138 if (prism2_doreset) {
147 "%s: hfa384x_corereset() failed.\n",
dev_info);
174 usb_set_intfdata(interface, wlandev);
197 static void prism2sta_disconnect_usb(
struct usb_interface *interface)
203 if (wlandev !=
NULL) {
209 hfa384x_t *hw = wlandev->
priv;
217 list_splice_init(&hw->ctlxq.reapable, &cleanlist);
218 list_splice_init(&hw->ctlxq.completing, &cleanlist);
219 list_splice_init(&hw->ctlxq.pending, &cleanlist);
220 list_splice_init(&hw->ctlxq.active, &cleanlist);
222 spin_unlock_irqrestore(&hw->ctlxq.lock, flags);
251 hfa384x_usbctlx_t *ctlx;
266 hfa384x_usbctlx_t *ctlx;
285 usb_set_intfdata(interface,
NULL);
292 hfa384x_t *hw =
NULL;
314 hfa384x_t *hw =
NULL;
325 if (prism2_doreset) {
333 "%s: hfa384x_corereset() failed.\n",
dev_info);
346 #define prism2sta_suspend NULL
347 #define prism2sta_resume NULL
350 static struct usb_driver prism2_usb_driver = {
351 .name =
"prism2_usb",
352 .probe = prism2sta_probe_usb,
353 .disconnect = prism2sta_disconnect_usb,
354 .id_table = usb_prism_tbl,