diff options
| author | Duncan Sands <baldrick@free.fr> | 2006-01-13 05:12:58 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-01-31 20:23:40 -0500 |
| commit | a3673d3cd1cdeec6b503ffa418ca2d5aeff82fd7 (patch) | |
| tree | e68c34bc9fe633afa557b0f3153b0c61df6a2ae3 | |
| parent | 9b0e54addf3ea8488c7b57166fb38feeb8ea28fd (diff) | |
[PATCH] USBATM: -EILSEQ workaround
Don't throttle on -EILSEQ urb status if requested by a minidriver.
It seems the ueagle modems are buggy, giving -EILSEQ when they
have no data to send. The ueagle change will be sent separately
by the ueagle guys. Patch by Matthieu Castet.
Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| -rw-r--r-- | drivers/usb/atm/usbatm.c | 5 | ||||
| -rw-r--r-- | drivers/usb/atm/usbatm.h | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index c925e3a42672..5d339af16248 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c | |||
| @@ -270,7 +270,10 @@ static void usbatm_complete(struct urb *urb, struct pt_regs *regs) | |||
| 270 | 270 | ||
| 271 | spin_unlock_irqrestore(&channel->lock, flags); | 271 | spin_unlock_irqrestore(&channel->lock, flags); |
| 272 | 272 | ||
| 273 | if (unlikely(urb->status)) { | 273 | if (unlikely(urb->status) && |
| 274 | (!(channel->usbatm->flags & UDSL_IGNORE_EILSEQ) || | ||
| 275 | urb->status != -EILSEQ )) | ||
| 276 | { | ||
| 274 | if (printk_ratelimit()) | 277 | if (printk_ratelimit()) |
| 275 | atm_warn(channel->usbatm, "%s: urb 0x%p failed (%d)!\n", | 278 | atm_warn(channel->usbatm, "%s: urb 0x%p failed (%d)!\n", |
| 276 | __func__, urb, urb->status); | 279 | __func__, urb, urb->status); |
diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h index bdff534b941d..1cf4767007de 100644 --- a/drivers/usb/atm/usbatm.h +++ b/drivers/usb/atm/usbatm.h | |||
| @@ -88,6 +88,7 @@ | |||
| 88 | 88 | ||
| 89 | #define UDSL_SKIP_HEAVY_INIT (1<<0) | 89 | #define UDSL_SKIP_HEAVY_INIT (1<<0) |
| 90 | #define UDSL_USE_ISOC (1<<1) | 90 | #define UDSL_USE_ISOC (1<<1) |
| 91 | #define UDSL_IGNORE_EILSEQ (1<<2) | ||
| 91 | 92 | ||
| 92 | 93 | ||
| 93 | /* mini driver */ | 94 | /* mini driver */ |
