Index: usbatm.c =================================================================== RCS file: /home/cvs/usbatm/usbatm.c,v retrieving revision 1.47 diff -u -r1.47 usbatm.c --- usbatm.c 27 May 2005 16:17:23 -0000 1.47 +++ usbatm.c 27 Jun 2005 18:01:42 -0000 @@ -269,7 +269,9 @@ spin_unlock_irqrestore(&channel->lock, flags); - if (unlikely(urb->status)) + if (unlikely(urb->status) && + ( channel->usbatm->driver->quirk & IGNORE_ELISEQ && + urb->status != -EILSEQ )) /* throttle processing in case of an error */ mod_timer(&channel->delay, jiffies + msecs_to_jiffies(THROTTLE_MSECS)); else Index: usbatm.h =================================================================== RCS file: /home/cvs/usbatm/usbatm.h,v retrieving revision 1.19 diff -u -r1.19 usbatm.h --- usbatm.h 30 May 2005 08:48:13 -0000 1.19 +++ usbatm.h 27 Jun 2005 18:01:42 -0000 @@ -80,6 +80,9 @@ #endif +/* quirks */ +#define IGNORE_ELISEQ 1 + /* mini driver */ struct usbatm_data; @@ -119,6 +122,7 @@ unsigned rx_padding; unsigned tx_padding; + unsigned int quirk; }; extern int usbatm_usb_probe(struct usb_interface *intf, const struct usb_device_id *id,