aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/zd1211rw/zd_usb.c
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2006-07-05 10:57:39 -0400
committerJohn W. Linville <linville@tuxdriver.com>2006-07-10 14:16:26 -0400
commitb312d799b324e895745ffe148def234fc60d5b74 (patch)
treefb55ee2d7bd9aede22216f835345157a20f68e08 /drivers/net/wireless/zd1211rw/zd_usb.c
parent522536f6b24e63ac946259af65224f107dff7857 (diff)
[PATCH] zd1211rw: usb_clear_halt not allowed in IRQ context
We will reimplement halt-clearing later, when we have periodic housekeeping routines in place. This will do as a temporary fix, the EPIPE case has not yet been seen. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/zd1211rw/zd_usb.c')
-rw-r--r--drivers/net/wireless/zd1211rw/zd_usb.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c
index ce1cb2c6aa8d..72f90525bf68 100644
--- a/drivers/net/wireless/zd1211rw/zd_usb.c
+++ b/drivers/net/wireless/zd1211rw/zd_usb.c
@@ -375,10 +375,8 @@ static void int_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
375 case -ENODEV: 375 case -ENODEV:
376 case -ENOENT: 376 case -ENOENT:
377 case -ECONNRESET: 377 case -ECONNRESET:
378 goto kfree;
379 case -EPIPE: 378 case -EPIPE:
380 usb_clear_halt(urb->dev, EP_INT_IN); 379 goto kfree;
381 /* FALL-THROUGH */
382 default: 380 default:
383 goto resubmit; 381 goto resubmit;
384 } 382 }
@@ -580,10 +578,8 @@ static void rx_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
580 case -ENODEV: 578 case -ENODEV:
581 case -ENOENT: 579 case -ENOENT:
582 case -ECONNRESET: 580 case -ECONNRESET:
583 return;
584 case -EPIPE: 581 case -EPIPE:
585 usb_clear_halt(urb->dev, EP_DATA_IN); 582 return;
586 /* FALL-THROUGH */
587 default: 583 default:
588 dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status); 584 dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
589 goto resubmit; 585 goto resubmit;
@@ -749,11 +745,9 @@ static void tx_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
749 case -ENODEV: 745 case -ENODEV:
750 case -ENOENT: 746 case -ENOENT:
751 case -ECONNRESET: 747 case -ECONNRESET:
748 case -EPIPE:
752 dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status); 749 dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
753 break; 750 break;
754 case -EPIPE:
755 usb_clear_halt(urb->dev, EP_DATA_OUT);
756 /* FALL-THROUGH */
757 default: 751 default:
758 dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status); 752 dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
759 goto resubmit; 753 goto resubmit;