提交 37939810 编写于 作者: J Jussi Kivilinna 提交者: John W. Linville

zd1211rw: correct use of usb_bulk_msg on interrupt endpoints

zd1211rw is using usb_bulk_msg() with usb_sndbulkpipe() on interrupt endpoint.
However usb_bulk_msg() internally corrects this and makes interrupt URB.

It's better to change usb_bulk_msgs in zd1211rw to usb_interrupt_msg for less
confusion.
Signed-off-by: NJussi Kivilinna <jussi.kivilinna@mbnet.fi>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 0c2530ce
...@@ -1634,15 +1634,15 @@ int zd_usb_ioread16v(struct zd_usb *usb, u16 *values, ...@@ -1634,15 +1634,15 @@ int zd_usb_ioread16v(struct zd_usb *usb, u16 *values,
udev = zd_usb_to_usbdev(usb); udev = zd_usb_to_usbdev(usb);
prepare_read_regs_int(usb); prepare_read_regs_int(usb);
r = usb_bulk_msg(udev, usb_sndbulkpipe(udev, EP_REGS_OUT), r = usb_interrupt_msg(udev, usb_sndintpipe(udev, EP_REGS_OUT),
req, req_len, &actual_req_len, 50 /* ms */); req, req_len, &actual_req_len, 50 /* ms */);
if (r) { if (r) {
dev_dbg_f(zd_usb_dev(usb), dev_dbg_f(zd_usb_dev(usb),
"error in usb_bulk_msg(). Error number %d\n", r); "error in usb_interrupt_msg(). Error number %d\n", r);
goto error; goto error;
} }
if (req_len != actual_req_len) { if (req_len != actual_req_len) {
dev_dbg_f(zd_usb_dev(usb), "error in usb_bulk_msg()\n" dev_dbg_f(zd_usb_dev(usb), "error in usb_interrupt_msg()\n"
" req_len %d != actual_req_len %d\n", " req_len %d != actual_req_len %d\n",
req_len, actual_req_len); req_len, actual_req_len);
r = -EIO; r = -EIO;
...@@ -1705,16 +1705,16 @@ int zd_usb_iowrite16v(struct zd_usb *usb, const struct zd_ioreq16 *ioreqs, ...@@ -1705,16 +1705,16 @@ int zd_usb_iowrite16v(struct zd_usb *usb, const struct zd_ioreq16 *ioreqs,
} }
udev = zd_usb_to_usbdev(usb); udev = zd_usb_to_usbdev(usb);
r = usb_bulk_msg(udev, usb_sndbulkpipe(udev, EP_REGS_OUT), r = usb_interrupt_msg(udev, usb_sndintpipe(udev, EP_REGS_OUT),
req, req_len, &actual_req_len, 50 /* ms */); req, req_len, &actual_req_len, 50 /* ms */);
if (r) { if (r) {
dev_dbg_f(zd_usb_dev(usb), dev_dbg_f(zd_usb_dev(usb),
"error in usb_bulk_msg(). Error number %d\n", r); "error in usb_interrupt_msg(). Error number %d\n", r);
goto error; goto error;
} }
if (req_len != actual_req_len) { if (req_len != actual_req_len) {
dev_dbg_f(zd_usb_dev(usb), dev_dbg_f(zd_usb_dev(usb),
"error in usb_bulk_msg()" "error in usb_interrupt_msg()"
" req_len %d != actual_req_len %d\n", " req_len %d != actual_req_len %d\n",
req_len, actual_req_len); req_len, actual_req_len);
r = -EIO; r = -EIO;
...@@ -1794,15 +1794,15 @@ int zd_usb_rfwrite(struct zd_usb *usb, u32 value, u8 bits) ...@@ -1794,15 +1794,15 @@ int zd_usb_rfwrite(struct zd_usb *usb, u32 value, u8 bits)
} }
udev = zd_usb_to_usbdev(usb); udev = zd_usb_to_usbdev(usb);
r = usb_bulk_msg(udev, usb_sndbulkpipe(udev, EP_REGS_OUT), r = usb_interrupt_msg(udev, usb_sndintpipe(udev, EP_REGS_OUT),
req, req_len, &actual_req_len, 50 /* ms */); req, req_len, &actual_req_len, 50 /* ms */);
if (r) { if (r) {
dev_dbg_f(zd_usb_dev(usb), dev_dbg_f(zd_usb_dev(usb),
"error in usb_bulk_msg(). Error number %d\n", r); "error in usb_interrupt_msg(). Error number %d\n", r);
goto out; goto out;
} }
if (req_len != actual_req_len) { if (req_len != actual_req_len) {
dev_dbg_f(zd_usb_dev(usb), "error in usb_bulk_msg()" dev_dbg_f(zd_usb_dev(usb), "error in usb_interrupt_msg()"
" req_len %d != actual_req_len %d\n", " req_len %d != actual_req_len %d\n",
req_len, actual_req_len); req_len, actual_req_len);
r = -EIO; r = -EIO;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册