From a3673d3cd1cdeec6b503ffa418ca2d5aeff82fd7 Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Fri, 13 Jan 2006 11:12:58 +0100 Subject: [PATCH] [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 Signed-off-by: Greg Kroah-Hartman --- drivers/usb/atm/usbatm.c | 5 ++++- drivers/usb/atm/usbatm.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) 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) spin_unlock_irqrestore(&channel->lock, flags); - if (unlikely(urb->status)) { + if (unlikely(urb->status) && + (!(channel->usbatm->flags & UDSL_IGNORE_EILSEQ) || + urb->status != -EILSEQ )) + { if (printk_ratelimit()) atm_warn(channel->usbatm, "%s: urb 0x%p failed (%d)!\n", __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 @@ #define UDSL_SKIP_HEAVY_INIT (1<<0) #define UDSL_USE_ISOC (1<<1) +#define UDSL_IGNORE_EILSEQ (1<<2) /* mini driver */ -- 2.30.2