On Tue, Sep 23, 2014 at 07:12:40PM +0000, Scot Doyle wrote:
According to commit 0cce2eda19923e5e5ccc8b042dec5af87b3ffad0
USB: fix LANGID=0 regression
usb devices are not required to report string descriptors. Since they are
optional, log an info message instead of an error message.
Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx>
---
drivers/usb/core/message.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index 0c8a7fc..da2f1f2 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -780,8 +780,12 @@ static int usb_get_langid(struct usb_device *dev, unsigned char *tbuf)
* deal with strings at all. Set string_langid to -1 in order to
* prevent any string to be retrieved from the device */
if (err < 0) {
- dev_err(&dev->dev, "string descriptor 0 read error: %d\n",
- err);
+ if (err == -EPIPE)
+ dev_info(&dev->dev,
+ "string descriptor 0 read error: -EPIPE\n");
+ else
+ dev_err(&dev->dev,
+ "string descriptor 0 read error: %d\n", err);
What real difference does this patch make? What would a user do with
-EPIPE?
And USB devices _are_ required to provide a string descriptor if they
provide a string id, so your changelog body doesn't make much sense. I
suggest rewriting it to say they aren't required to provide a string
descriptor for string "0".
But even then, I don't understand the goal of this patch.