On Tue, 15 Aug 2006 11:37:49 -0400 (EDT), Alan Stern <[EMAIL PROTECTED]> wrote:

> As long as you are cleaning things up, here are a few more things to 
> correct along the way...  :-)

How about now?

-- Pete

diff -urp -X dontdiff linux-2.6.18-rc6/Documentation/usb/error-codes.txt 
linux-2.6.18-rc6-lem/Documentation/usb/error-codes.txt
--- linux-2.6.18-rc6/Documentation/usb/error-codes.txt  2006-01-03 
20:02:53.000000000 -0800
+++ linux-2.6.18-rc6-lem/Documentation/usb/error-codes.txt      2006-09-07 
22:09:16.000000000 -0700
@@ -98,13 +98,13 @@ one or more packets could finish before 
                        error, a failure to respond (often caused by
                        device disconnect), or some other fault.
 
--ETIMEDOUT (**)                No response packet received within the 
prescribed
+-ETIME (**)            No response packet received within the prescribed
                        bus turn-around time.  This error may instead be
                        reported as -EPROTO or -EILSEQ.
 
-                       Note that the synchronous USB message functions
-                       also use this code to indicate timeout expired
-                       before the transfer completed.
+-ETIMEDOUT             Synchronous USB message functions use this code
+                       to indicate timeout expired before the transfer
+                       completed, and no other error was reported by HC.
 
 -EPIPE (**)            Endpoint stalled.  For non-control endpoints,
                        reset this status with usb_clear_halt().
@@ -163,6 +163,3 @@ usb_get_*/usb_set_*():
 usb_control_msg():
 usb_bulk_msg():
 -ETIMEDOUT             Timeout expired before the transfer completed.
-                       In the future this code may change to -ETIME,
-                       whose definition is a closer match to this sort
-                       of error.
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/isdn/hisax/hfc_usb.h 
linux-2.6.18-rc6-lem/drivers/isdn/hisax/hfc_usb.h
--- linux-2.6.18-rc6/drivers/isdn/hisax/hfc_usb.h       2006-01-03 
20:03:15.000000000 -0800
+++ linux-2.6.18-rc6-lem/drivers/isdn/hisax/hfc_usb.h   2006-09-07 
22:11:14.000000000 -0700
@@ -137,11 +137,11 @@ static struct hfcusb_symbolic_list urb_e
        {-ENXIO, "URB already queued"},
        {-EFBIG, "Too much ISO frames requested"},
        {-ENOSR, "Buffer error (overrun)"},
-       {-EPIPE, "Specified endpoint is stalled (device not responding)"},
+       {-EPIPE, "Specified endpoint is stalled"},
        {-EOVERFLOW, "Babble (bad cable?)"},
        {-EPROTO, "Bit-stuff error (bad cable?)"},
-       {-EILSEQ, "CRC/Timeout"},
-       {-ETIMEDOUT, "NAK (device does not respond)"},
+       {-EILSEQ, "CRC or missing token"},
+       {-ETIME, "Device did not respond"},
        {-ESHUTDOWN, "Device unplugged"},
        {-1, NULL}
 };
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/media/dvb/dvb-usb/dvb-usb-urb.c 
linux-2.6.18-rc6-lem/drivers/media/dvb/dvb-usb/dvb-usb-urb.c
--- linux-2.6.18-rc6/drivers/media/dvb/dvb-usb/dvb-usb-urb.c    2006-06-21 
14:14:28.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/media/dvb/dvb-usb/dvb-usb-urb.c        
2006-09-07 22:13:51.000000000 -0700
@@ -80,7 +80,6 @@ static void dvb_usb_urb_complete(struct 
 
        switch (urb->status) {
                case 0:         /* success */
-               case -ETIMEDOUT:    /* NAK */
                        break;
                case -ECONNRESET:   /* kill */
                case -ENOENT:
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/media/dvb/ttusb-dec/ttusb_dec.c 
linux-2.6.18-rc6-lem/drivers/media/dvb/ttusb-dec/ttusb_dec.c
--- linux-2.6.18-rc6/drivers/media/dvb/ttusb-dec/ttusb_dec.c    2006-09-06 
21:56:09.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/media/dvb/ttusb-dec/ttusb_dec.c        
2006-09-06 22:16:45.000000000 -0700
@@ -215,7 +215,7 @@ static void ttusb_dec_handle_irq( struct
                case -ECONNRESET:
                case -ENOENT:
                case -ESHUTDOWN:
-               case -ETIMEDOUT:
+               case -ETIME:
                        /* this urb is dead, cleanup */
                        dprintk("%s:urb shutting down with status: %d\n",
                                        __FUNCTION__, urb->status);
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/net/irda/irda-usb.c 
linux-2.6.18-rc6-lem/drivers/net/irda/irda-usb.c
--- linux-2.6.18-rc6/drivers/net/irda/irda-usb.c        2006-09-06 
21:56:16.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/net/irda/irda-usb.c    2006-09-07 
22:17:03.000000000 -0700
@@ -673,7 +673,6 @@ static void irda_usb_net_timeout(struct 
                        break;
                case -ECONNABORTED:             /* -103 */
                case -ECONNRESET:               /* -104 */
-               case -ETIMEDOUT:                /* -110 */
                case -ENOENT:                   /* -2 (urb unlinked by us)  */
                default:                        /* ??? - Play safe */
                        urb->status = 0;
@@ -714,7 +713,6 @@ static void irda_usb_net_timeout(struct 
                        break;
                case -ECONNABORTED:             /* -103 */
                case -ECONNRESET:               /* -104 */
-               case -ETIMEDOUT:                /* -110 */
                case -ENOENT:                   /* -2 (urb unlinked by us)  */
                default:                        /* ??? - Play safe */
                        if(skb != NULL) {
@@ -845,14 +843,14 @@ static void irda_usb_receive(struct urb 
                        self->stats.rx_crc_errors++;    
                        /* Also precursor to a hot-unplug on UHCI. */
                        /* Fallthrough... */
-               case -ECONNRESET:               /* -104 */
+               case -ECONNRESET:
                        /* Random error, if I remember correctly */
                        /* uhci_cleanup_unlink() is going to kill the Rx
                         * URB just after we return. No problem, at this
                         * point the URB will be idle ;-) - Jean II */
-               case -ESHUTDOWN:                /* -108 */
+               case -ESHUTDOWN:
                        /* That's usually a hot-unplug. Submit will fail... */
-               case -ETIMEDOUT:                /* -110 */
+               case -ETIME:
                        /* Usually precursor to a hot-unplug on OHCI. */
                default:
                        self->stats.rx_errors++;
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/core/message.c 
linux-2.6.18-rc6-lem/drivers/usb/core/message.c
--- linux-2.6.18-rc6/drivers/usb/core/message.c 2006-09-06 21:56:31.000000000 
-0700
+++ linux-2.6.18-rc6-lem/drivers/usb/core/message.c     2006-09-06 
22:16:45.000000000 -0700
@@ -55,7 +55,6 @@ static int usb_start_wait_urb(struct urb
                }
                wait_for_completion(&done);
                status = urb->status;
-               /* note:  HCDs return ETIMEDOUT for other reasons too */
                if (status == -ECONNRESET) {
                        dev_dbg(&urb->dev->dev,
                                "%s timed out on ep%d%s len=%d/%d\n",
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/host/isp116x.h 
linux-2.6.18-rc6-lem/drivers/usb/host/isp116x.h
--- linux-2.6.18-rc6/drivers/usb/host/isp116x.h 2006-03-27 07:45:22.000000000 
-0800
+++ linux-2.6.18-rc6-lem/drivers/usb/host/isp116x.h     2006-09-06 
22:16:45.000000000 -0700
@@ -233,7 +233,7 @@ static const int cc_to_error[16] = {
        /* Bit Stuff  */ -EPROTO,
        /* Data Togg  */ -EILSEQ,
        /* Stall      */ -EPIPE,
-       /* DevNotResp */ -ETIMEDOUT,
+       /* DevNotResp */ -ETIME,
        /* PIDCheck   */ -EPROTO,
        /* UnExpPID   */ -EPROTO,
        /* DataOver   */ -EOVERFLOW,
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/host/ohci.h 
linux-2.6.18-rc6-lem/drivers/usb/host/ohci.h
--- linux-2.6.18-rc6/drivers/usb/host/ohci.h    2006-01-03 20:03:35.000000000 
-0800
+++ linux-2.6.18-rc6-lem/drivers/usb/host/ohci.h        2006-09-06 
22:16:45.000000000 -0700
@@ -159,7 +159,7 @@ static const int cc_to_error [16] = { 
        /* Bit Stuff  */               -EPROTO,
        /* Data Togg  */               -EILSEQ,
        /* Stall      */               -EPIPE,
-       /* DevNotResp */               -ETIMEDOUT,
+       /* DevNotResp */               -ETIME,
        /* PIDCheck   */               -EPROTO,
        /* UnExpPID   */               -EPROTO,
        /* DataOver   */               -EOVERFLOW,
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/host/sl811-hcd.c 
linux-2.6.18-rc6-lem/drivers/usb/host/sl811-hcd.c
--- linux-2.6.18-rc6/drivers/usb/host/sl811-hcd.c       2006-09-06 
21:56:32.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/host/sl811-hcd.c   2006-09-06 
22:16:45.000000000 -0700
@@ -597,7 +597,7 @@ done(struct sl811 *sl811, struct sl811h_
        /* error? retry, until "3 strikes" */
        } else if (++ep->error_count >= 3) {
                if (status & SL11H_STATMASK_TMOUT)
-                       urbstat = -ETIMEDOUT;
+                       urbstat = -ETIME;
                else if (status & SL11H_STATMASK_OVF)
                        urbstat = -EOVERFLOW;
                else
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/input/hid-core.c 
linux-2.6.18-rc6-lem/drivers/usb/input/hid-core.c
--- linux-2.6.18-rc6/drivers/usb/input/hid-core.c       2006-09-06 
21:56:32.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/input/hid-core.c   2006-09-06 
22:16:45.000000000 -0700
@@ -1023,7 +1023,8 @@ static void hid_irq_in(struct urb *urb, 
                        return;
                case -EILSEQ:           /* protocol error or unplug */
                case -EPROTO:           /* protocol error or unplug */
-               case -ETIMEDOUT:        /* NAK */
+               case -ETIME:            /* protocol error or unplug */
+               case -ETIMEDOUT:        /* Should never happen, but... */
                        clear_bit(HID_IN_RUNNING, &hid->iofl);
                        hid_io_error(hid);
                        return;
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/input/itmtouch.c 
linux-2.6.18-rc6-lem/drivers/usb/input/itmtouch.c
--- linux-2.6.18-rc6/drivers/usb/input/itmtouch.c       2006-09-06 
21:56:32.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/input/itmtouch.c   2006-09-06 
22:16:45.000000000 -0700
@@ -87,7 +87,7 @@ static void itmtouch_irq(struct urb *urb
        case 0:
                /* success */
                break;
-       case -ETIMEDOUT:
+       case -ETIME:
                /* this urb is timing out */
                dbg("%s - urb timed out - was the device unplugged?",
                    __FUNCTION__);
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/input/mtouchusb.c 
linux-2.6.18-rc6-lem/drivers/usb/input/mtouchusb.c
--- linux-2.6.18-rc6/drivers/usb/input/mtouchusb.c      2006-09-06 
21:56:32.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/input/mtouchusb.c  2006-09-06 
22:16:45.000000000 -0700
@@ -107,7 +107,7 @@ static void mtouchusb_irq(struct urb *ur
        case 0:
                /* success */
                break;
-       case -ETIMEDOUT:
+       case -ETIME:
                /* this urb is timing out */
                dbg("%s - urb timed out - was the device unplugged?",
                    __FUNCTION__);
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/input/touchkitusb.c 
linux-2.6.18-rc6-lem/drivers/usb/input/touchkitusb.c
--- linux-2.6.18-rc6/drivers/usb/input/touchkitusb.c    2006-09-06 
21:56:32.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/input/touchkitusb.c        2006-09-06 
22:16:45.000000000 -0700
@@ -201,7 +201,7 @@ static void touchkit_irq(struct urb *urb
        case 0:
                /* success */
                break;
-       case -ETIMEDOUT:
+       case -ETIME:
                /* this urb is timing out */
                dbg("%s - urb timed out - was the device unplugged?",
                    __FUNCTION__);
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/input/usbtouchscreen.c 
linux-2.6.18-rc6-lem/drivers/usb/input/usbtouchscreen.c
--- linux-2.6.18-rc6/drivers/usb/input/usbtouchscreen.c 2006-09-06 
21:56:32.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/input/usbtouchscreen.c     2006-09-06 
22:16:45.000000000 -0700
@@ -386,7 +386,7 @@ static void usbtouch_irq(struct urb *urb
        case 0:
                /* success */
                break;
-       case -ETIMEDOUT:
+       case -ETIME:
                /* this urb is timing out */
                dbg("%s - urb timed out - was the device unplugged?",
                    __FUNCTION__);
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/misc/auerswald.c 
linux-2.6.18-rc6-lem/drivers/usb/misc/auerswald.c
--- linux-2.6.18-rc6/drivers/usb/misc/auerswald.c       2006-06-21 
14:14:52.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/misc/auerswald.c   2006-09-07 
22:12:49.000000000 -0700
@@ -806,7 +806,7 @@ static void auerbuf_releasebuf( pauerbuf
 0              Initial, OK
 -EINPROGRESS   during submission until end
 -ENOENT                if urb is unlinked
--ETIMEDOUT     Transfer timed out, NAK
+-ETIME         Device did not respond
 -ENOMEM                Memory Overflow
 -ENODEV                Specified USB-device or bus doesn't exist
 -ENXIO         URB already queued
@@ -832,7 +832,7 @@ static int auerswald_status_retry (int s
 {
        switch (status) {
        case 0:
-       case -ETIMEDOUT:
+       case -ETIME:
        case -EOVERFLOW:
        case -EAGAIN:
        case -EPIPE:
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/net/pegasus.c 
linux-2.6.18-rc6-lem/drivers/usb/net/pegasus.c
--- linux-2.6.18-rc6/drivers/usb/net/pegasus.c  2006-09-06 21:56:33.000000000 
-0700
+++ linux-2.6.18-rc6-lem/drivers/usb/net/pegasus.c      2006-09-06 
22:16:46.000000000 -0700
@@ -619,7 +619,7 @@ static void read_bulk_callback(struct ur
        switch (urb->status) {
        case 0:
                break;
-       case -ETIMEDOUT:
+       case -ETIME:
                if (netif_msg_rx_err(pegasus))
                        pr_debug("%s: reset MAC\n", net->name);
                pegasus->flags &= ~PEGASUS_RX_BUSY;
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/net/rtl8150.c 
linux-2.6.18-rc6-lem/drivers/usb/net/rtl8150.c
--- linux-2.6.18-rc6/drivers/usb/net/rtl8150.c  2006-09-06 21:56:33.000000000 
-0700
+++ linux-2.6.18-rc6-lem/drivers/usb/net/rtl8150.c      2006-09-06 
22:16:46.000000000 -0700
@@ -438,7 +438,7 @@ static void read_bulk_callback(struct ur
                break;
        case -ENOENT:
                return; /* the urb is in unlink state */
-       case -ETIMEDOUT:
+       case -ETIME:
                warn("may be reset is needed?..");
                goto goon;
        default:
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/net/usbnet.c 
linux-2.6.18-rc6-lem/drivers/usb/net/usbnet.c
--- linux-2.6.18-rc6/drivers/usb/net/usbnet.c   2006-09-06 21:56:33.000000000 
-0700
+++ linux-2.6.18-rc6-lem/drivers/usb/net/usbnet.c       2006-09-07 
22:19:42.000000000 -0700
@@ -412,9 +412,9 @@ static void rx_complete (struct urb *urb
            // we get controller i/o faults during khubd disconnect() delays.
            // throttle down resubmits, to avoid log floods; just temporarily,
            // so we still recover when the fault isn't a khubd delay.
-           case -EPROTO:               // ehci
-           case -ETIMEDOUT:            // ohci
-           case -EILSEQ:               // uhci
+           case -EPROTO:
+           case -ETIME:
+           case -EILSEQ:
                dev->stats.rx_errors++;
                if (!timer_pending (&dev->delay)) {
                        mod_timer (&dev->delay, jiffies + THROTTLE_JIFFIES);
@@ -798,7 +798,7 @@ static void tx_complete (struct urb *urb
                // like rx, tx gets controller i/o faults during khubd delays
                // and so it uses the same throttling mechanism.
                case -EPROTO:           // ehci
-               case -ETIMEDOUT:        // ohci
+               case -ETIME:            // ohci
                case -EILSEQ:           // uhci
                        if (!timer_pending (&dev->delay)) {
                                mod_timer (&dev->delay,
diff -urp -X dontdiff linux-2.6.18-rc6/drivers/usb/storage/transport.c 
linux-2.6.18-rc6-lem/drivers/usb/storage/transport.c
--- linux-2.6.18-rc6/drivers/usb/storage/transport.c    2006-09-06 
21:56:33.000000000 -0700
+++ linux-2.6.18-rc6-lem/drivers/usb/storage/transport.c        2006-09-06 
22:16:46.000000000 -0700
@@ -294,11 +294,6 @@ static int interpret_urb_result(struct u
                        return USB_STOR_XFER_ERROR;
                return USB_STOR_XFER_STALLED;
 
-       /* timeout or excessively long NAK */
-       case -ETIMEDOUT:
-               US_DEBUGP("-- timeout or NAK\n");
-               return USB_STOR_XFER_ERROR;
-
        /* babble - the device tried to send more than we wanted to read */
        case -EOVERFLOW:
                US_DEBUGP("-- babble\n");
diff -urp -X dontdiff linux-2.6.18-rc6/sound/usb/usbmidi.c 
linux-2.6.18-rc6-lem/sound/usb/usbmidi.c
--- linux-2.6.18-rc6/sound/usb/usbmidi.c        2006-09-06 21:57:24.000000000 
-0700
+++ linux-2.6.18-rc6-lem/sound/usb/usbmidi.c    2006-09-07 22:20:09.000000000 
-0700
@@ -181,9 +181,9 @@ static int snd_usbmidi_urb_error(int sta
        case -ENODEV:
                return -ENODEV;
        /* errors that might occur during unplugging */
-       case -EPROTO:    /* EHCI */
-       case -ETIMEDOUT: /* OHCI */
-       case -EILSEQ:    /* UHCI */
+       case -EPROTO:
+       case -ETIME:
+       case -EILSEQ:
                return -EIO;
        default:
                snd_printk(KERN_ERR "urb status %d\n", status);

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to