Skip to content

Commit

Permalink
[PATCH] zd1211rw: usb_clear_halt not allowed in IRQ context
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Daniel Drake authored and John W. Linville committed Jul 10, 2006
1 parent 522536f commit b312d79
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions drivers/net/wireless/zd1211rw/zd_usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -375,10 +375,8 @@ static void int_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
case -ENODEV:
case -ENOENT:
case -ECONNRESET:
goto kfree;
case -EPIPE:
usb_clear_halt(urb->dev, EP_INT_IN);
/* FALL-THROUGH */
goto kfree;
default:
goto resubmit;
}
Expand Down Expand Up @@ -580,10 +578,8 @@ static void rx_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
case -ENODEV:
case -ENOENT:
case -ECONNRESET:
return;
case -EPIPE:
usb_clear_halt(urb->dev, EP_DATA_IN);
/* FALL-THROUGH */
return;
default:
dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
goto resubmit;
Expand Down Expand Up @@ -749,11 +745,9 @@ static void tx_urb_complete(struct urb *urb, struct pt_regs *pt_regs)
case -ENODEV:
case -ENOENT:
case -ECONNRESET:
case -EPIPE:
dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
break;
case -EPIPE:
usb_clear_halt(urb->dev, EP_DATA_OUT);
/* FALL-THROUGH */
default:
dev_dbg_f(urb_dev(urb), "urb %p error %d\n", urb, urb->status);
goto resubmit;
Expand Down

0 comments on commit b312d79

Please sign in to comment.