Lines Matching +full:0 +full:x3220
51 #define DBG_PROGRESS 0x00000001 /* authentication/accociation */
52 #define DBG_BSS_TABLE 0x00000002 /* show BSS table after scans */
53 #define DBG_IOCTL 0x00000004 /* ioctl calls / settings */
54 #define DBG_MAC_STATE 0x00000008 /* MAC state transitions */
55 #define DBG_TX_DATA 0x00000010 /* tx header */
56 #define DBG_TX_DATA_CONTENT 0x00000020 /* tx content */
57 #define DBG_TX_MGMT 0x00000040 /* tx management */
58 #define DBG_RX_DATA 0x00000080 /* rx data header */
59 #define DBG_RX_DATA_CONTENT 0x00000100 /* rx data content */
60 #define DBG_RX_MGMT 0x00000200 /* rx mgmt frame headers */
61 #define DBG_RX_BEACON 0x00000400 /* rx beacon */
62 #define DBG_RX_CTRL 0x00000800 /* rx control */
63 #define DBG_RX_MGMT_CONTENT 0x00001000 /* rx mgmt content */
64 #define DBG_RX_FRAGS 0x00002000 /* rx data fragment handling */
65 #define DBG_DEVSTART 0x00004000 /* fw download, device start */
66 #define DBG_URB 0x00008000 /* rx urb status, ... */
67 #define DBG_RX_ATMEL_HDR 0x00010000 /* Atmel-specific Rx headers */
68 #define DBG_PROC_ENTRY 0x00020000 /* procedure entries/exits */
69 #define DBG_PM 0x00040000 /* power management settings */
70 #define DBG_BSS_MATCH 0x00080000 /* BSS match failures */
71 #define DBG_PARAMS 0x00100000 /* show configured parameters */
72 #define DBG_WAIT_COMPLETE 0x00200000 /* command completion */
73 #define DBG_RX_FRAGS_SKB 0x00400000 /* skb header of Rx fragments */
74 #define DBG_BSS_TABLE_RM 0x00800000 /* purging bss table entries */
75 #define DBG_MONITOR_MODE 0x01000000 /* monitor mode */
76 #define DBG_MIB 0x02000000 /* dump all MIBs on startup */
77 #define DBG_MGMT_TIMER 0x04000000 /* dump mgmt_timer ops */
78 #define DBG_WE_EVENTS 0x08000000 /* dump wireless events */
79 #define DBG_FW 0x10000000 /* firmware download */
80 #define DBG_DFU 0x20000000 /* device firmware upgrade */
81 #define DBG_CMD 0x40000000
82 #define DBG_MAC80211 0x80000000
84 #define DBG_DEFAULTS 0
91 } while (0)
99 } while (0)
107 [0] = { "" },
133 { USB_DEVICE(0x03eb, 0x7603), USB_DEVICE_DATA(BOARD_503_ISL3861) },
135 { USB_DEVICE(0x066b, 0x2211), USB_DEVICE_DATA(BOARD_503_ISL3861) },
137 { USB_DEVICE(0x0864, 0x4100), USB_DEVICE_DATA(BOARD_503_ISL3861) },
139 { USB_DEVICE(0x0b3b, 0x1612), USB_DEVICE_DATA(BOARD_503_ISL3861) },
141 { USB_DEVICE(0x03f0, 0x011c), USB_DEVICE_DATA(BOARD_503_ISL3861) },
143 { USB_DEVICE(0x0cde, 0x0001), USB_DEVICE_DATA(BOARD_503_ISL3861) },
145 { USB_DEVICE(0x069a, 0x0320), USB_DEVICE_DATA(BOARD_503_ISL3861) },
147 { USB_DEVICE(0x0d5c, 0xa001), USB_DEVICE_DATA(BOARD_503_ISL3861) },
149 { USB_DEVICE(0x04a5, 0x9000), USB_DEVICE_DATA(BOARD_503_ISL3861) },
151 { USB_DEVICE(0x05dd, 0xff31), USB_DEVICE_DATA(BOARD_503_ISL3861) },
153 { USB_DEVICE(0x8086, 0x0200), USB_DEVICE_DATA(BOARD_503_ISL3861) },
155 { USB_DEVICE(0x0d8e, 0x7100), USB_DEVICE_DATA(BOARD_503_ISL3861) },
157 { USB_DEVICE(0x0d8e, 0x7110), USB_DEVICE_DATA(BOARD_503_ISL3861) },
159 { USB_DEVICE(0x04bb, 0x0919), USB_DEVICE_DATA(BOARD_503_ISL3861) },
161 { USB_DEVICE(0x069a, 0x0821), USB_DEVICE_DATA(BOARD_503_ISL3861) },
166 { USB_DEVICE(0x03eb, 0x7604), USB_DEVICE_DATA(BOARD_503_ISL3863) },
168 { USB_DEVICE(0x055d, 0xa000), USB_DEVICE_DATA(BOARD_503_ISL3863) },
173 { USB_DEVICE(0x03eb, 0x7605), USB_DEVICE_DATA(BOARD_503) },
175 { USB_DEVICE(0x069a, 0x0321), USB_DEVICE_DATA(BOARD_503) },
177 { USB_DEVICE(0x077b, 0x2219), USB_DEVICE_DATA(BOARD_503) },
179 { USB_DEVICE(0x077b, 0x2227), USB_DEVICE_DATA(BOARD_503) },
181 { USB_DEVICE(0x0864, 0x4102), USB_DEVICE_DATA(BOARD_503) },
183 { USB_DEVICE(0x2001, 0x3200), USB_DEVICE_DATA(BOARD_503) },
185 { USB_DEVICE(0x1668, 0x7605), USB_DEVICE_DATA(BOARD_503) },
187 { USB_DEVICE(0x03eb, 0x4102), USB_DEVICE_DATA(BOARD_503) },
189 { USB_DEVICE(0x1371, 0x5743), USB_DEVICE_DATA(BOARD_503) },
191 { USB_DEVICE(0x1371, 0x0001), USB_DEVICE_DATA(BOARD_503) },
193 { USB_DEVICE(0x1371, 0x0002), USB_DEVICE_DATA(BOARD_503) },
195 { USB_DEVICE(0x04a5, 0x9001), USB_DEVICE_DATA(BOARD_503) },
197 { USB_DEVICE(0x0506, 0x0a01), USB_DEVICE_DATA(BOARD_503) },
199 { USB_DEVICE(0x0681, 0x001b), USB_DEVICE_DATA(BOARD_503) },
201 { USB_DEVICE(0x050d, 0x0050), USB_DEVICE_DATA(BOARD_503) },
203 { USB_DEVICE(0x07b8, 0xb000), USB_DEVICE_DATA(BOARD_503) },
205 { USB_DEVICE(0x1044, 0x8003), USB_DEVICE_DATA(BOARD_503) },
207 { USB_DEVICE(0x2019, 0x3220), USB_DEVICE_DATA(BOARD_503) },
209 { USB_DEVICE(0x049f, 0x0032), USB_DEVICE_DATA(BOARD_503) },
211 { USB_DEVICE(0x07aa, 0x0011), USB_DEVICE_DATA(BOARD_503) },
213 { USB_DEVICE(0x07aa, 0x0018), USB_DEVICE_DATA(BOARD_503) },
215 { USB_DEVICE(0x05dd, 0xff35), USB_DEVICE_DATA(BOARD_503) },
220 { USB_DEVICE(0x083a, 0x3501), USB_DEVICE_DATA(BOARD_503_ACC) },
222 { USB_DEVICE(0x0d5c, 0xa002), USB_DEVICE_DATA(BOARD_503_ACC) },
227 { USB_DEVICE(0x03eb, 0x7606), USB_DEVICE_DATA(BOARD_505) },
232 { USB_DEVICE(0x03eb, 0x7613), USB_DEVICE_DATA(BOARD_505_2958) },
234 { USB_DEVICE(0x1371, 0x0014), USB_DEVICE_DATA(BOARD_505_2958) },
236 { USB_DEVICE(0x1371, 0x0013), USB_DEVICE_DATA(BOARD_505_2958) },
238 { USB_DEVICE(0x1915, 0x2233), USB_DEVICE_DATA(BOARD_505_2958) },
240 { USB_DEVICE(0x12fd, 0x1001), USB_DEVICE_DATA(BOARD_505_2958) },
242 { USB_DEVICE(0x07aa, 0x7613), USB_DEVICE_DATA(BOARD_505_2958) },
244 { USB_DEVICE(0x0db0, 0x1020), USB_DEVICE_DATA(BOARD_505_2958) },
249 { USB_DEVICE(0x03eb, 0x7614), USB_DEVICE_DATA(BOARD_505A) },
251 { USB_DEVICE(0x03eb, 0x7617), USB_DEVICE_DATA(BOARD_505A) },
253 { USB_DEVICE(0x1690, 0x0701), USB_DEVICE_DATA(BOARD_505A) },
255 { USB_DEVICE(0x1557, 0x0002), USB_DEVICE_DATA(BOARD_505A) },
260 { USB_DEVICE(0x03eb, 0x7615), USB_DEVICE_DATA(BOARD_505AMX) },
267 static const u8 hw_rates[] = { 0x82, 0x84, 0x0b, 0x16 };
273 #define STATE_IDLE 0x00
274 #define STATE_DETACH 0x01
275 #define STATE_DFU_IDLE 0x02
276 #define STATE_DFU_DOWNLOAD_SYNC 0x03
277 #define STATE_DFU_DOWNLOAD_BUSY 0x04
278 #define STATE_DFU_DOWNLOAD_IDLE 0x05
279 #define STATE_DFU_MANIFEST_SYNC 0x06
280 #define STATE_DFU_MANIFEST 0x07
281 #define STATE_DFU_MANIFEST_WAIT_RESET 0x08
282 #define STATE_DFU_UPLOAD_IDLE 0x09
283 #define STATE_DFU_ERROR 0x0a
286 #define DFU_DETACH 0
322 return usb_control_msg(udev, usb_sndctrlpipe(udev, 0), DFU_DNLOAD, in at76_load_int_fw_block()
324 USB_RECIP_INTERFACE, blockno, 0, block, size, in at76_load_int_fw_block()
333 ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), DFU_GETSTATUS, in at76_dfu_get_status()
335 0, 0, status, sizeof(*status), in at76_dfu_get_status()
344 ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), DFU_GETSTATE, in at76_dfu_get_state()
346 0, 0, state, 1, USB_CTRL_GET_TIMEOUT); in at76_dfu_get_state()
355 | (s->poll_timeout[0])); in at76_get_timeout()
358 /* Load internal firmware from the buffer. If manifest_sync_timeout > 0, use
363 int ret = 0; in at76_usbdfu_download()
365 int is_done = 0; in at76_usbdfu_download()
366 u32 dfu_timeout = 0; in at76_usbdfu_download()
367 int bsize = 0; in at76_usbdfu_download()
368 int blockno = 0; in at76_usbdfu_download()
398 *dfu_state = 0; in at76_usbdfu_download()
403 if (ret < 0) { in at76_usbdfu_download()
408 need_dfu_state = 0; in at76_usbdfu_download()
415 if (ret >= 0) { in at76_usbdfu_download()
418 need_dfu_state = 0; in at76_usbdfu_download()
461 if (ret < 0) in at76_usbdfu_download()
466 need_dfu_state = 0; in at76_usbdfu_download()
470 if (manifest_sync_timeout > 0) in at76_usbdfu_download()
501 } while (!is_done && (ret >= 0)); in at76_usbdfu_download()
508 if (ret >= 0) in at76_usbdfu_download()
509 ret = 0; in at76_usbdfu_download()
542 ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x0a, in at76_remap()
544 USB_RECIP_INTERFACE, 0, 0, NULL, 0, in at76_remap()
546 if (ret < 0) in at76_remap()
548 return 0; in at76_remap()
560 ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x33, in at76_get_op_mode()
562 USB_RECIP_INTERFACE, 0x01, 0, op_mode, 1, in at76_get_op_mode()
567 if (ret < 0) in at76_get_op_mode()
579 return usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x0e, in at76_load_ext_fw_block()
581 0x0802, blockno, block, size, in at76_load_ext_fw_block()
588 return usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x33, in at76_get_hw_cfg()
590 USB_RECIP_INTERFACE, 0x0a02, 0, in at76_get_hw_cfg()
598 return usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x33, in at76_get_hw_cfg_intersil()
600 USB_RECIP_INTERFACE, 0x0902, 0, in at76_get_hw_cfg_intersil()
618 if (ret < 0) in at76_get_hw_config()
624 if (ret < 0) in at76_get_hw_config()
630 if (ret < 0) in at76_get_hw_config()
638 if (ret < 0) in at76_get_hw_config()
649 { 0x10, "FCC (USA)", 0x7ff }, /* ch 1-11 */ in at76_get_reg_domain()
650 { 0x20, "IC (Canada)", 0x7ff }, /* ch 1-11 */ in at76_get_reg_domain()
651 { 0x30, "ETSI (most of Europe)", 0x1fff }, /* ch 1-13 */ in at76_get_reg_domain()
652 { 0x31, "Spain", 0x600 }, /* ch 10-11 */ in at76_get_reg_domain()
653 { 0x32, "France", 0x1e00 }, /* ch 10-13 */ in at76_get_reg_domain()
654 { 0x40, "MKK (Japan)", 0x2000 }, /* ch 14 */ in at76_get_reg_domain()
655 { 0x41, "MKK1 (Japan)", 0x3fff }, /* ch 1-14 */ in at76_get_reg_domain()
656 { 0x50, "Israel", 0x3fc }, /* ch 3-9 */ in at76_get_reg_domain()
657 { 0x00, "<unknown>", 0xffffffff } /* ch 1-32 */ in at76_get_reg_domain()
661 for (i = 0; i < ARRAY_SIZE(fd_tab) - 1; i++) in at76_get_reg_domain()
673 ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x33, in at76_get_mib()
675 USB_RECIP_INTERFACE, mib << 8, 0, buf, buf_size, in at76_get_mib()
677 if (ret >= 0 && ret != buf_size) in at76_get_mib()
692 ret = usb_control_msg(udev, usb_rcvctrlpipe(udev, 0), 0x22, in at76_get_cmd_status()
694 USB_RECIP_INTERFACE, cmd, 0, stat_buf, in at76_get_cmd_status()
696 if (ret >= 0) in at76_get_cmd_status()
733 cmd_buf->reserved = 0; in at76_set_card_command()
738 "issuing command %s (0x%02x)", in at76_set_card_command()
741 ret = usb_control_msg(udev, usb_sndctrlpipe(udev, 0), 0x0e, in at76_set_card_command()
743 0, 0, cmd_buf, total_size, USB_CTRL_GET_TIMEOUT); in at76_set_card_command()
769 int status = 0; in at76_wait_completion()
774 if (status < 0) { in at76_wait_completion()
809 if (ret < 0) in at76_set_mib()
823 /* Return < 0 on error, == 0 if no command sent, == 1 if cmd sent */
830 return 0; in at76_set_radio()
834 ret = at76_set_card_command(priv->udev, cmd, NULL, 0); in at76_set_radio()
835 if (ret < 0) in at76_set_radio()
848 int ret = 0; in at76_set_pm_mode()
856 if (ret < 0) in at76_set_pm_mode()
865 int ret = 0; in at76_set_preamble()
873 if (ret < 0) in at76_set_preamble()
882 int ret = 0; in at76_set_frag()
890 if (ret < 0) in at76_set_frag()
899 int ret = 0; in at76_set_rts()
907 if (ret < 0) in at76_set_rts()
915 int ret = 0; in at76_set_autorate_fallback()
923 if (ret < 0) in at76_set_autorate_fallback()
940 if (ret < 0) { in at76_dump_mib_mac_addr()
946 at76_dbg(DBG_MIB, "%s: MIB MAC_ADDR: mac_addr %pM res 0x%x 0x%x", in at76_dump_mib_mac_addr()
948 m->mac_addr, m->res[0], m->res[1]); in at76_dump_mib_mac_addr()
949 for (i = 0; i < ARRAY_SIZE(m->group_addr); i++) in at76_dump_mib_mac_addr()
968 if (ret < 0) { in at76_dump_mib_mac_wep()
986 for (i = 0; i < WEP_KEYS; i++) in at76_dump_mib_mac_wep()
1003 if (ret < 0) { in at76_dump_mib_mac_mgmt()
1010 "%d medium_occupancy_limit %d station_id 0x%x ATIM_window %d " in at76_dump_mib_mac_mgmt()
1039 if (ret < 0) { in at76_dump_mib_mac()
1076 if (ret < 0) { in at76_dump_mib_phy()
1085 "0x%x 0x%x 0x%x 0x%x channel_id %d current_cca_mode %d " in at76_dump_mib_phy()
1092 le16_to_cpu(m->cca_mode_supported), m->operation_rate_set[0], in at76_dump_mib_phy()
1109 if (ret < 0) { in at76_dump_mib_local()
1134 if (ret < 0) { in at76_dump_mib_mdomain()
1157 memset(&scan, 0, sizeof(struct at76_req_scan)); in at76_start_monitor()
1162 scan.international_scan = 0; in at76_start_monitor()
1165 scan.probe_delay = cpu_to_le16(0); in at76_start_monitor()
1168 if (ret >= 0) in at76_start_monitor()
1189 return 0; in at76_calc_padding()
1222 skb_trim(skb, 0); in at76_submit_rx_urb()
1229 if (ret < 0) { in at76_submit_rx_urb()
1239 if (ret < 0 && ret != -ENODEV) in at76_submit_rx_urb()
1251 int blockno = 0; in at76_load_external_fw()
1292 } while (bsize > 0); in at76_load_external_fw()
1301 if (ret < 0) in at76_load_external_fw()
1314 need_remap ? 0 : 2 * HZ); in at76_load_internal_fw()
1316 if (ret < 0) { in at76_load_internal_fw()
1327 if (ret < 0) { in at76_load_internal_fw()
1372 memset(ccfg, 0, sizeof(*ccfg)); in at76_startup_device()
1373 ccfg->promiscuous_mode = 0; in at76_startup_device()
1385 ccfg->exclude_unencrypted = 0; in at76_startup_device()
1386 ccfg->encryption_type = 0; in at76_startup_device()
1394 ccfg->auto_rate_fallback = (priv->txrate == TX_RATE_AUTO ? 1 : 0); in at76_startup_device()
1409 if (ret < 0) { in at76_startup_device()
1426 if (ret < 0) in at76_startup_device()
1430 if (ret < 0) in at76_startup_device()
1434 if (ret < 0) in at76_startup_device()
1438 priv->txrate == TX_RATE_AUTO ? 1 : 0); in at76_startup_device()
1439 if (ret < 0) in at76_startup_device()
1443 if (ret < 0) in at76_startup_device()
1456 return 0; in at76_startup_device()
1464 int ret = 0; in at76_work_set_promisc()
1474 priv->mib_buf.data.byte = priv->promisc ? 1 : 0; in at76_work_set_promisc()
1477 if (ret < 0) in at76_work_set_promisc()
1534 if (el && el[1] > 0) in at76_guess_freq()
1546 struct ieee80211_rx_status rx_status = { 0 }; in at76_rx_tasklet()
1559 if (urb->status != 0) { in at76_rx_tasklet()
1613 if (ret < 0) { in at76_load_firmware()
1626 "firmware is too short (0x%zx)\n", fwe->fw->size); in at76_load_firmware()
1675 memset(&join, 0, sizeof(struct at76_req_join)); in at76_join()
1687 if (ret < 0) { in at76_join()
1690 return 0; in at76_join()
1694 at76_dbg(DBG_MAC80211, "%s: CMD_JOIN returned: 0x%02x", __func__, ret); in at76_join()
1698 return 0; in at76_join()
1703 return 0; in at76_join()
1730 case 0: in at76_mac80211_tx_callback()
1745 memset(&info->status, 0, sizeof(info->status)); in at76_mac80211_tx_callback()
1800 memset(tx_buffer, 0, sizeof(*tx_buffer)); in at76_mac80211_tx()
1804 memset(tx_buffer->reserved, 0, sizeof(tx_buffer->reserved)); in at76_mac80211_tx()
1807 at76_dbg(DBG_TX_DATA, "%s tx: wlen 0x%x pad 0x%x rate %d hdr", in at76_mac80211_tx()
1837 if (ret < 0) { in at76_mac80211_start()
1850 return 0; in at76_mac80211_start()
1868 at76_set_radio(priv, 0); in at76_mac80211_stop()
1882 int ret = 0; in at76_add_interface()
1924 at76_dbg(DBG_MAC80211, "%s: CMD_SCAN status 0x%02x", __func__, ret); in at76_dwork_hw_scan()
1955 int ret, len = 0; in at76_hw_scan()
1960 return 0; in at76_hw_scan()
1966 memset(&scan, 0, sizeof(struct at76_req_scan)); in at76_hw_scan()
1971 ssid = req->ssids[0].ssid; in at76_hw_scan()
1972 len = req->ssids[0].ssid_len; in at76_hw_scan()
1985 scan.international_scan = 0; in at76_hw_scan()
1990 if (ret < 0) { in at76_hw_scan()
2002 return 0; in at76_hw_scan()
2024 return 0; in at76_config()
2060 at76_dbg(DBG_MAC80211, "%s(): changed_flags=0x%08x " in at76_configure_filter()
2061 "total_flags=0x%08x", in at76_configure_filter()
2080 priv->promisc = 0; in at76_configure_filter()
2089 int ret = 0; in at76_set_wep()
2094 priv->mib_buf.index = 0; in at76_set_wep()
2096 memset(mib_data, 0, sizeof(*mib_data)); in at76_set_wep()
2107 mib_data->exclude_unencrypted = 0; in at76_set_wep()
2108 mib_data->encryption_level = 0; in at76_set_wep()
2118 if (ret < 0) in at76_set_wep()
2156 priv->wep_keys_len[key->keyidx] = 0; in at76_set_key()
2160 priv->wep_enabled = 0; in at76_set_key()
2162 for (i = 0; i < WEP_KEYS; i++) { in at76_set_key()
2163 if (priv->wep_keys_len[i] != 0) in at76_set_key()
2171 return 0; in at76_set_key()
2219 priv->pm_period = 0; in at76_alloc_new_device()
2242 for (i = 0; i < iface_desc->desc.bNumEndpoints; i++) { in at76_alloc_urbs()
2245 at76_dbg(DBG_URB, "%s: %d. endpoint: addr 0x%x attr 0x%x", in at76_alloc_urbs()
2264 priv->rx_urb = usb_alloc_urb(0, GFP_KERNEL); in at76_alloc_urbs()
2265 priv->tx_urb = usb_alloc_urb(0, GFP_KERNEL); in at76_alloc_urbs()
2278 return 0; in at76_alloc_urbs()
2327 if (ret < 0) in at76_init_new_device()
2332 if (ret < 0) { in at76_init_new_device()
2351 priv->device_unplugged = 0; in at76_init_new_device()
2356 priv->hw->wiphy->max_scan_ie_len = 0; in at76_init_new_device()
2388 wiphy_info(priv->hw->wiphy, "regulatory domain 0x%02x: %s\n", in at76_init_new_device()
2439 int need_ext_fw = 0; in at76_probe()
2478 if (ret < 0) { in at76_probe()
2494 if ((fwe->fw_version.major > 0 || fwe->fw_version.minor >= 100) in at76_probe()
2497 if (ret < 0 || (fwv->major | fwv->minor) == 0) in at76_probe()
2508 if (ret < 0) in at76_probe()
2513 if (ret < 0) { in at76_probe()
2532 if (ret < 0) in at76_probe()
2537 if (ret < 0) in at76_probe()
2576 if (result < 0) in at76_mod_init()
2590 for (i = 0; i < ARRAY_SIZE(firmwares); i++) in at76_mod_exit()