This matches the behavior for other descriptor fetches.

Please merge.

- Dave

Signed-off-by: David Brownell <[EMAIL PROTECTED]>
--- 1.57/drivers/usb/core/message.c     Tue Jun  1 23:57:22 2004
+++ edited/drivers/usb/core/message.c   Fri Jun 11 11:49:33 2004
@@ -1319,7 +1319,7 @@
         */
 
        err = usb_get_string(dev, dev->string_langid, index, tbuf, 2);
-       if (err == -EPIPE) {
+       if (err == -EPIPE || err == 0) {
                dev_dbg(&dev->dev, "RETRY string %d read/%d\n", index, 2);
                err = usb_get_string(dev, dev->string_langid, index, tbuf, 2);
        }
@@ -1328,7 +1328,7 @@
        len=tbuf[0];    
        
        err = usb_get_string(dev, dev->string_langid, index, tbuf, len);
-       if (err == -EPIPE) {
+       if (err == -EPIPE || err == 0) {
                dev_dbg(&dev->dev, "RETRY string %d read/%d\n", index, len);
                err = usb_get_string(dev, dev->string_langid, index, tbuf, len);
        }

Reply via email to