aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/atm
diff options
context:
space:
mode:
authorDuncan Sands <baldrick@free.fr>2006-01-13 05:12:58 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2006-01-31 20:23:40 -0500
commita3673d3cd1cdeec6b503ffa418ca2d5aeff82fd7 (patch)
treee68c34bc9fe633afa557b0f3153b0c61df6a2ae3 /drivers/usb/atm
parent9b0e54addf3ea8488c7b57166fb38feeb8ea28fd (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>
Diffstat (limited to 'drivers/usb/atm')
-rw-r--r--drivers/usb/atm/usbatm.c5
-rw-r--r--drivers/usb/atm/usbatm.h1
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 */