ChangeSet 1.1722.97.69, 2004/06/11 17:06:09-07:00, david-b@pacbell.net [PATCH] USB: retry string fetches on ZLPs not just STALLs This matches the behavior for other descriptor fetches. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman drivers/usb/core/message.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -Nru a/drivers/usb/core/message.c b/drivers/usb/core/message.c --- a/drivers/usb/core/message.c Fri Jun 18 10:54:50 2004 +++ b/drivers/usb/core/message.c Fri Jun 18 10:54:50 2004 @@ -1320,7 +1320,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); } @@ -1329,7 +1329,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); }