Lines Matching full:usb

2 /* ZD1211 USB-WLAN driver for Linux
16 #include <linux/usb.h>
92 MODULE_DESCRIPTION("USB driver for devices with the ZD1211 chip.");
96 MODULE_DEVICE_TABLE(usb, usb_ids);
101 static bool check_read_regs(struct zd_usb *usb, struct usb_req_read_regs *req,
104 /* USB device initialization */
140 /* USB request blocks need "kmalloced" buffers. in upload_code()
162 "USB control request for firmware upload" in upload_code()
214 static char *get_fw_name(struct zd_usb *usb, char *buffer, size_t size, in get_fw_name() argument
218 usb->is_zd1211b ? in get_fw_name()
224 static int handle_version_mismatch(struct zd_usb *usb, in handle_version_mismatch() argument
227 struct usb_device *udev = zd_usb_to_usbdev(usb); in handle_version_mismatch()
234 get_fw_name(usb, fw_name, sizeof(fw_name), "ur"), in handle_version_mismatch()
257 static int upload_firmware(struct zd_usb *usb) in upload_firmware() argument
262 struct usb_device *udev = zd_usb_to_usbdev(usb); in upload_firmware()
270 get_fw_name(usb, fw_name, sizeof(fw_name), "ub"), in upload_firmware()
285 r = handle_version_mismatch(usb, ub_fw); in upload_firmware()
296 get_fw_name(usb, fw_name, sizeof(fw_name), "uphr"), in upload_firmware()
324 int zd_usb_read_fw(struct zd_usb *usb, zd_addr_t addr, u8 *data, u16 len) in zd_usb_read_fw() argument
327 struct usb_device *udev = zd_usb_to_usbdev(usb); in zd_usb_read_fw()
359 struct zd_usb *usb = urb->context; in handle_regs_int_override() local
360 struct zd_usb_interrupt *intr = &usb->intr; in handle_regs_int_override()
374 struct zd_usb *usb = urb->context; in handle_regs_int() local
375 struct zd_usb_interrupt *intr = &usb->intr; in handle_regs_int()
404 if (!check_read_regs(usb, intr->read_regs.req, in handle_regs_int()
427 struct zd_usb *usb; in int_urb_complete() local
460 usb = urb->context; in int_urb_complete()
461 intr = &usb->intr; in int_urb_complete()
501 static inline int usb_int_enabled(struct zd_usb *usb) in usb_int_enabled() argument
504 struct zd_usb_interrupt *intr = &usb->intr; in usb_int_enabled()
513 int zd_usb_enable_int(struct zd_usb *usb) in zd_usb_enable_int() argument
516 struct usb_device *udev = zd_usb_to_usbdev(usb); in zd_usb_enable_int()
517 struct zd_usb_interrupt *intr = &usb->intr; in zd_usb_enable_int()
520 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_usb_enable_int()
542 dev_dbg_f(zd_usb_dev(usb), in zd_usb_enable_int()
549 int_urb_complete, usb, in zd_usb_enable_int()
554 dev_dbg_f(zd_usb_dev(usb), "submit urb %p\n", intr->urb); in zd_usb_enable_int()
557 dev_dbg_f(zd_usb_dev(usb), in zd_usb_enable_int()
576 void zd_usb_disable_int(struct zd_usb *usb) in zd_usb_disable_int() argument
579 struct usb_device *udev = zd_usb_to_usbdev(usb); in zd_usb_disable_int()
580 struct zd_usb_interrupt *intr = &usb->intr; in zd_usb_disable_int()
598 dev_dbg_f(zd_usb_dev(usb), "urb %p killed\n", urb); in zd_usb_disable_int()
604 static void handle_rx_packet(struct zd_usb *usb, const u8 *buffer, in handle_rx_packet() argument
612 dev_dbg_f(zd_usb_dev(usb), "invalid, small RX packet : %d\n", in handle_rx_packet()
623 * because if USB transactions are merged, the last packet will not in handle_rx_packet()
637 zd_mac_rx(zd_usb_to_hw(usb), buffer+l, k); in handle_rx_packet()
643 zd_mac_rx(zd_usb_to_hw(usb), buffer, length); in handle_rx_packet()
650 struct zd_usb *usb; in rx_urb_complete() local
674 usb = urb->context; in rx_urb_complete()
675 rx = &usb->rx; in rx_urb_complete()
697 handle_rx_packet(usb, rx->fragment, in rx_urb_complete()
703 handle_rx_packet(usb, buffer, length); in rx_urb_complete()
712 static struct urb *alloc_rx_urb(struct zd_usb *usb) in alloc_rx_urb() argument
714 struct usb_device *udev = zd_usb_to_usbdev(usb); in alloc_rx_urb()
730 rx_urb_complete, usb); in alloc_rx_urb()
745 static int __zd_usb_enable_rx(struct zd_usb *usb) in __zd_usb_enable_rx() argument
748 struct zd_usb_rx *rx = &usb->rx; in __zd_usb_enable_rx()
751 dev_dbg_f(zd_usb_dev(usb), "\n"); in __zd_usb_enable_rx()
758 urbs[i] = alloc_rx_urb(usb); in __zd_usb_enable_rx()
797 int zd_usb_enable_rx(struct zd_usb *usb) in zd_usb_enable_rx() argument
800 struct zd_usb_rx *rx = &usb->rx; in zd_usb_enable_rx()
803 r = __zd_usb_enable_rx(usb); in zd_usb_enable_rx()
806 zd_usb_reset_rx_idle_timer(usb); in zd_usb_enable_rx()
811 static void __zd_usb_disable_rx(struct zd_usb *usb) in __zd_usb_disable_rx() argument
817 struct zd_usb_rx *rx = &usb->rx; in __zd_usb_disable_rx()
838 void zd_usb_disable_rx(struct zd_usb *usb) in zd_usb_disable_rx() argument
840 struct zd_usb_rx *rx = &usb->rx; in zd_usb_disable_rx()
843 __zd_usb_disable_rx(usb); in zd_usb_disable_rx()
850 static void zd_usb_reset_rx(struct zd_usb *usb) in zd_usb_reset_rx() argument
853 struct zd_usb_rx *rx = &usb->rx; in zd_usb_reset_rx()
863 __zd_usb_disable_rx(usb); in zd_usb_reset_rx()
864 __zd_usb_enable_rx(usb); in zd_usb_reset_rx()
870 zd_usb_reset_rx_idle_timer(usb); in zd_usb_reset_rx()
875 * @usb: the zd1211rw-private USB structure
879 void zd_usb_disable_tx(struct zd_usb *usb) in zd_usb_disable_tx() argument
881 struct zd_usb_tx *tx = &usb->tx; in zd_usb_disable_tx()
902 * @usb: a &struct zd_usb pointer
907 void zd_usb_enable_tx(struct zd_usb *usb) in zd_usb_enable_tx() argument
910 struct zd_usb_tx *tx = &usb->tx; in zd_usb_enable_tx()
915 ieee80211_wake_queues(zd_usb_to_hw(usb)); in zd_usb_enable_tx()
920 static void tx_dec_submitted_urbs(struct zd_usb *usb) in tx_dec_submitted_urbs() argument
922 struct zd_usb_tx *tx = &usb->tx; in tx_dec_submitted_urbs()
928 ieee80211_wake_queues(zd_usb_to_hw(usb)); in tx_dec_submitted_urbs()
934 static void tx_inc_submitted_urbs(struct zd_usb *usb) in tx_inc_submitted_urbs() argument
936 struct zd_usb_tx *tx = &usb->tx; in tx_inc_submitted_urbs()
942 ieee80211_stop_queues(zd_usb_to_hw(usb)); in tx_inc_submitted_urbs()
960 struct zd_usb *usb; in tx_urb_complete() local
966 * grab 'usb' pointer before handing off the skb (since in tx_urb_complete()
969 usb = &zd_hw_mac(info->rate_driver_data[0])->chip.usb; in tx_urb_complete()
970 tx = &usb->tx; in tx_urb_complete()
988 skb_unlink(skb, &usb->tx.submitted_skbs); in tx_urb_complete()
991 tx_dec_submitted_urbs(usb); in tx_urb_complete()
1006 * @usb: the zd1211rw-private USB structure
1015 int zd_usb_tx(struct zd_usb *usb, struct sk_buff *skb) in zd_usb_tx() argument
1019 struct usb_device *udev = zd_usb_to_usbdev(usb); in zd_usb_tx()
1021 struct zd_usb_tx *tx = &usb->tx; in zd_usb_tx()
1043 dev_dbg_f(zd_usb_dev(usb), "error submit urb %p %d\n", urb, r); in zd_usb_tx()
1048 tx_inc_submitted_urbs(usb); in zd_usb_tx()
1056 static bool zd_tx_timeout(struct zd_usb *usb) in zd_tx_timeout() argument
1058 struct zd_usb_tx *tx = &usb->tx; in zd_tx_timeout()
1082 struct zd_usb *usb = in zd_tx_watchdog_handler() local
1084 struct zd_usb_tx *tx = &usb->tx; in zd_tx_watchdog_handler()
1088 if (!zd_tx_timeout(usb)) in zd_tx_watchdog_handler()
1092 dev_warn(zd_usb_dev(usb), "TX-stall detected, resetting device..."); in zd_tx_watchdog_handler()
1094 usb_queue_reset_device(usb->intf); in zd_tx_watchdog_handler()
1103 void zd_tx_watchdog_enable(struct zd_usb *usb) in zd_tx_watchdog_enable() argument
1105 struct zd_usb_tx *tx = &usb->tx; in zd_tx_watchdog_enable()
1108 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_tx_watchdog_enable()
1115 void zd_tx_watchdog_disable(struct zd_usb *usb) in zd_tx_watchdog_disable() argument
1117 struct zd_usb_tx *tx = &usb->tx; in zd_tx_watchdog_disable()
1120 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_tx_watchdog_disable()
1128 struct zd_usb *usb = in zd_rx_idle_timer_handler() local
1130 struct zd_mac *mac = zd_usb_to_mac(usb); in zd_rx_idle_timer_handler()
1135 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_rx_idle_timer_handler()
1138 zd_usb_reset_rx(usb); in zd_rx_idle_timer_handler()
1143 struct zd_usb *usb = from_tasklet(usb, t, rx.reset_timer_tasklet); in zd_usb_reset_rx_idle_timer_tasklet() local
1145 zd_usb_reset_rx_idle_timer(usb); in zd_usb_reset_rx_idle_timer_tasklet()
1148 void zd_usb_reset_rx_idle_timer(struct zd_usb *usb) in zd_usb_reset_rx_idle_timer() argument
1150 struct zd_usb_rx *rx = &usb->rx; in zd_usb_reset_rx_idle_timer()
1155 static inline void init_usb_interrupt(struct zd_usb *usb) in init_usb_interrupt() argument
1157 struct zd_usb_interrupt *intr = &usb->intr; in init_usb_interrupt()
1160 intr->interval = int_urb_interval(zd_usb_to_usbdev(usb)); in init_usb_interrupt()
1166 static inline void init_usb_rx(struct zd_usb *usb) in init_usb_rx() argument
1168 struct zd_usb_rx *rx = &usb->rx; in init_usb_rx()
1172 if (interface_to_usbdev(usb->intf)->speed == USB_SPEED_HIGH) { in init_usb_rx()
1184 static inline void init_usb_tx(struct zd_usb *usb) in init_usb_tx() argument
1186 struct zd_usb_tx *tx = &usb->tx; in init_usb_tx()
1198 void zd_usb_init(struct zd_usb *usb, struct ieee80211_hw *hw, in zd_usb_init() argument
1201 memset(usb, 0, sizeof(*usb)); in zd_usb_init()
1202 usb->intf = usb_get_intf(intf); in zd_usb_init()
1203 usb_set_intfdata(usb->intf, hw); in zd_usb_init()
1204 init_usb_anchor(&usb->submitted_cmds); in zd_usb_init()
1205 init_usb_interrupt(usb); in zd_usb_init()
1206 init_usb_tx(usb); in zd_usb_init()
1207 init_usb_rx(usb); in zd_usb_init()
1210 void zd_usb_clear(struct zd_usb *usb) in zd_usb_clear() argument
1212 usb_set_intfdata(usb->intf, NULL); in zd_usb_clear()
1213 usb_put_intf(usb->intf); in zd_usb_clear()
1214 ZD_MEMCLEAR(usb, sizeof(*usb)); in zd_usb_clear()
1241 int zd_usb_scnprint_id(struct zd_usb *usb, char *buffer, size_t size) in zd_usb_scnprint_id() argument
1243 struct usb_device *udev = interface_to_usbdev(usb->intf); in zd_usb_scnprint_id()
1291 /* USB bulk command block */ in eject_installer()
1315 int zd_usb_init_hw(struct zd_usb *usb) in zd_usb_init_hw() argument
1318 struct zd_mac *mac = zd_usb_to_mac(usb); in zd_usb_init_hw()
1320 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_usb_init_hw()
1322 r = upload_firmware(usb); in zd_usb_init_hw()
1324 dev_err(zd_usb_dev(usb), in zd_usb_init_hw()
1329 r = usb_reset_configuration(zd_usb_to_usbdev(usb)); in zd_usb_init_hw()
1331 dev_dbg_f(zd_usb_dev(usb), in zd_usb_init_hw()
1338 dev_dbg_f(zd_usb_dev(usb), in zd_usb_init_hw()
1343 usb->initialized = 1; in zd_usb_init_hw()
1351 struct zd_usb *usb; in probe() local
1365 dev_dbg_f(&intf->dev, "Unknown USB speed\n"); in probe()
1373 "couldn't reset usb device. Error number %d\n", r); in probe()
1383 usb = &zd_hw_mac(hw)->chip.usb; in probe()
1384 usb->is_zd1211b = (id->driver_info == DEVICE_ZD1211B) != 0; in probe()
1416 struct zd_usb *usb; in disconnect() local
1424 usb = &mac->chip.usb; in disconnect()
1426 dev_dbg_f(zd_usb_dev(usb), "\n"); in disconnect()
1431 zd_usb_disable_tx(usb); in disconnect()
1432 zd_usb_disable_rx(usb); in disconnect()
1433 zd_usb_disable_int(usb); in disconnect()
1447 static void zd_usb_resume(struct zd_usb *usb) in zd_usb_resume() argument
1449 struct zd_mac *mac = zd_usb_to_mac(usb); in zd_usb_resume()
1452 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_usb_resume()
1454 r = zd_op_start(zd_usb_to_hw(usb)); in zd_usb_resume()
1456 dev_warn(zd_usb_dev(usb), "Device resume failed " in zd_usb_resume()
1458 if (usb->was_running) in zd_usb_resume()
1460 usb_queue_reset_device(usb->intf); in zd_usb_resume()
1467 dev_dbg(zd_usb_dev(usb), in zd_usb_resume()
1474 static void zd_usb_stop(struct zd_usb *usb) in zd_usb_stop() argument
1476 dev_dbg_f(zd_usb_dev(usb), "\n"); in zd_usb_stop()
1478 zd_op_stop(zd_usb_to_hw(usb)); in zd_usb_stop()
1480 zd_usb_disable_tx(usb); in zd_usb_stop()
1481 zd_usb_disable_rx(usb); in zd_usb_stop()
1482 zd_usb_disable_int(usb); in zd_usb_stop()
1484 usb->initialized = 0; in zd_usb_stop()
1491 struct zd_usb *usb; in pre_reset() local
1497 usb = &mac->chip.usb; in pre_reset()
1499 usb->was_running = test_bit(ZD_DEVICE_RUNNING, &mac->flags); in pre_reset()
1501 zd_usb_stop(usb); in pre_reset()
1511 struct zd_usb *usb; in post_reset() local
1517 usb = &mac->chip.usb; in post_reset()
1521 if (usb->was_running) in post_reset()
1522 zd_usb_resume(usb); in post_reset()
1575 /* In USB 2.0 mode EP_REGS_OUT endpoint is interrupt type. However in in zd_ep_regs_out_msg()
1576 * USB 1.1 mode endpoint is bulk. Select correct type URB by endpoint in zd_ep_regs_out_msg()
1597 static void prepare_read_regs_int(struct zd_usb *usb, in prepare_read_regs_int() argument
1601 struct zd_usb_interrupt *intr = &usb->intr; in prepare_read_regs_int()
1611 static void disable_read_regs_int(struct zd_usb *usb) in disable_read_regs_int() argument
1613 struct zd_usb_interrupt *intr = &usb->intr; in disable_read_regs_int()
1620 static bool check_read_regs(struct zd_usb *usb, struct usb_req_read_regs *req, in check_read_regs() argument
1624 struct zd_usb_interrupt *intr = &usb->intr; in check_read_regs()
1632 dev_dbg_f(zd_usb_dev(usb), in check_read_regs()
1639 dev_dbg_f(zd_usb_dev(usb), in check_read_regs()
1648 dev_dbg_f(zd_usb_dev(usb), in check_read_regs()
1659 static int get_results(struct zd_usb *usb, u16 *values, in get_results() argument
1665 struct zd_usb_interrupt *intr = &usb->intr; in get_results()
1678 if (!check_read_regs(usb, req, count)) { in get_results()
1679 dev_dbg_f(zd_usb_dev(usb), "error: invalid read regs\n"); in get_results()
1694 int zd_usb_ioread16v(struct zd_usb *usb, u16 *values, in zd_usb_ioread16v() argument
1704 dev_dbg_f(zd_usb_dev(usb), "error: count is zero\n"); in zd_usb_ioread16v()
1708 dev_dbg_f(zd_usb_dev(usb), in zd_usb_ioread16v()
1713 if (!usb_int_enabled(usb)) { in zd_usb_ioread16v()
1714 dev_dbg_f(zd_usb_dev(usb), in zd_usb_ioread16v()
1715 "error: usb interrupt not enabled\n"); in zd_usb_ioread16v()
1719 ZD_ASSERT(mutex_is_locked(&zd_usb_to_chip(usb)->mutex)); in zd_usb_ioread16v()
1721 sizeof(__le16) > sizeof(usb->req_buf)); in zd_usb_ioread16v()
1723 sizeof(usb->req_buf)); in zd_usb_ioread16v()
1726 req = (void *)usb->req_buf; in zd_usb_ioread16v()
1734 udev = zd_usb_to_usbdev(usb); in zd_usb_ioread16v()
1735 prepare_read_regs_int(usb, req, count); in zd_usb_ioread16v()
1738 dev_dbg_f(zd_usb_dev(usb), in zd_usb_ioread16v()
1743 dev_dbg_f(zd_usb_dev(usb), "error in zd_ep_regs_out_msg()\n" in zd_usb_ioread16v()
1750 timeout = wait_for_completion_timeout(&usb->intr.read_regs.completion, in zd_usb_ioread16v()
1753 disable_read_regs_int(usb); in zd_usb_ioread16v()
1754 dev_dbg_f(zd_usb_dev(usb), "read timed out\n"); in zd_usb_ioread16v()
1759 r = get_results(usb, values, req, count, &retry); in zd_usb_ioread16v()
1761 dev_dbg_f(zd_usb_dev(usb), "read retry, tries so far: %d\n", in zd_usb_ioread16v()
1771 struct zd_usb *usb = urb->context; in iowrite16v_urb_complete() local
1773 if (urb->status && !usb->cmd_error) in iowrite16v_urb_complete()
1774 usb->cmd_error = urb->status; in iowrite16v_urb_complete()
1776 if (!usb->cmd_error && in iowrite16v_urb_complete()
1778 usb->cmd_error = -EIO; in iowrite16v_urb_complete()
1781 static int zd_submit_waiting_urb(struct zd_usb *usb, bool last) in zd_submit_waiting_urb() argument
1784 struct urb *urb = usb->urb_async_waiting; in zd_submit_waiting_urb()
1789 usb->urb_async_waiting = NULL; in zd_submit_waiting_urb()
1794 usb_anchor_urb(urb, &usb->submitted_cmds); in zd_submit_waiting_urb()
1798 dev_dbg_f(zd_usb_dev(usb), in zd_submit_waiting_urb()
1809 void zd_usb_iowrite16v_async_start(struct zd_usb *usb) in zd_usb_iowrite16v_async_start() argument
1811 ZD_ASSERT(usb_anchor_empty(&usb->submitted_cmds)); in zd_usb_iowrite16v_async_start()
1812 ZD_ASSERT(usb->urb_async_waiting == NULL); in zd_usb_iowrite16v_async_start()
1813 ZD_ASSERT(!usb->in_async); in zd_usb_iowrite16v_async_start()
1815 ZD_ASSERT(mutex_is_locked(&zd_usb_to_chip(usb)->mutex)); in zd_usb_iowrite16v_async_start()
1817 usb->in_async = 1; in zd_usb_iowrite16v_async_start()
1818 usb->cmd_error = 0; in zd_usb_iowrite16v_async_start()
1819 usb->urb_async_waiting = NULL; in zd_usb_iowrite16v_async_start()
1822 int zd_usb_iowrite16v_async_end(struct zd_usb *usb, unsigned int timeout) in zd_usb_iowrite16v_async_end() argument
1826 ZD_ASSERT(mutex_is_locked(&zd_usb_to_chip(usb)->mutex)); in zd_usb_iowrite16v_async_end()
1827 ZD_ASSERT(usb->in_async); in zd_usb_iowrite16v_async_end()
1830 r = zd_submit_waiting_urb(usb, true); in zd_usb_iowrite16v_async_end()
1832 dev_dbg_f(zd_usb_dev(usb), in zd_usb_iowrite16v_async_end()
1836 usb_kill_anchored_urbs(&usb->submitted_cmds); in zd_usb_iowrite16v_async_end()
1841 timeout = usb_wait_anchor_empty_timeout(&usb->submitted_cmds, in zd_usb_iowrite16v_async_end()
1844 usb_kill_anchored_urbs(&usb->submitted_cmds); in zd_usb_iowrite16v_async_end()
1845 if (usb->cmd_error == -ENOENT) { in zd_usb_iowrite16v_async_end()
1846 dev_dbg_f(zd_usb_dev(usb), "timed out"); in zd_usb_iowrite16v_async_end()
1852 r = usb->cmd_error; in zd_usb_iowrite16v_async_end()
1854 usb->in_async = 0; in zd_usb_iowrite16v_async_end()
1858 int zd_usb_iowrite16v_async(struct zd_usb *usb, const struct zd_ioreq16 *ioreqs, in zd_usb_iowrite16v_async() argument
1868 ZD_ASSERT(mutex_is_locked(&zd_usb_to_chip(usb)->mutex)); in zd_usb_iowrite16v_async()
1869 ZD_ASSERT(usb->in_async); in zd_usb_iowrite16v_async()
1874 dev_dbg_f(zd_usb_dev(usb), in zd_usb_iowrite16v_async()
1880 udev = zd_usb_to_usbdev(usb); in zd_usb_iowrite16v_async()
1904 /* In USB 2.0 mode endpoint is interrupt type. However in USB 1.1 mode in zd_usb_iowrite16v_async()
1909 req, req_len, iowrite16v_urb_complete, usb, in zd_usb_iowrite16v_async()
1913 req, req_len, iowrite16v_urb_complete, usb); in zd_usb_iowrite16v_async()
1918 r = zd_submit_waiting_urb(usb, false); in zd_usb_iowrite16v_async()
1920 dev_dbg_f(zd_usb_dev(usb), in zd_usb_iowrite16v_async()
1929 usb->urb_async_waiting = urb; in zd_usb_iowrite16v_async()
1936 int zd_usb_iowrite16v(struct zd_usb *usb, const struct zd_ioreq16 *ioreqs, in zd_usb_iowrite16v() argument
1941 zd_usb_iowrite16v_async_start(usb); in zd_usb_iowrite16v()
1942 r = zd_usb_iowrite16v_async(usb, ioreqs, count); in zd_usb_iowrite16v()
1944 zd_usb_iowrite16v_async_end(usb, 0); in zd_usb_iowrite16v()
1947 return zd_usb_iowrite16v_async_end(usb, 50 /* ms */); in zd_usb_iowrite16v()
1950 int zd_usb_rfwrite(struct zd_usb *usb, u32 value, u8 bits) in zd_usb_rfwrite() argument
1959 dev_dbg_f(zd_usb_dev(usb), in zd_usb_rfwrite()
1966 dev_dbg_f(zd_usb_dev(usb), in zd_usb_rfwrite()
1973 dev_dbg_f(zd_usb_dev(usb), in zd_usb_rfwrite()
1980 dev_dbg_f(zd_usb_dev(usb), "value %#09x bits %d\n", value, bits); in zd_usb_rfwrite()
1982 r = zd_usb_ioread16(usb, &bit_value_template, ZD_CR203); in zd_usb_rfwrite()
1984 dev_dbg_f(zd_usb_dev(usb), in zd_usb_rfwrite()
1990 ZD_ASSERT(mutex_is_locked(&zd_usb_to_chip(usb)->mutex)); in zd_usb_rfwrite()
1993 sizeof(usb->req_buf)); in zd_usb_rfwrite()
1995 sizeof(usb->req_buf)); in zd_usb_rfwrite()
1998 req = (void *)usb->req_buf; in zd_usb_rfwrite()
2012 udev = zd_usb_to_usbdev(usb); in zd_usb_rfwrite()
2015 dev_dbg_f(zd_usb_dev(usb), in zd_usb_rfwrite()
2020 dev_dbg_f(zd_usb_dev(usb), "error in zd_ep_regs_out_msg()" in zd_usb_rfwrite()