提交 87f627f7 编写于 作者: V Valentina Manea 提交者: Greg Kroah-Hartman

staging: usbip: userspace: don't throw error when trying to read configuration specific attributes

When a device has just been bound to usbip-host but the client hasn't
set a configuration on it, certain attributes will not exist. Don't
treat this as an error.
Signed-off-by: NValentina Manea <valentina.manea.m@gmail.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 6080cd0e
......@@ -127,10 +127,23 @@ int read_attr_value(struct udev_device *dev, const char *name,
goto err;
}
/* The client chooses the device configuration
* when attaching it so right after being bound
* to usbip-host on the server the device will
* have no configuration.
* Therefore, attributes such as bConfigurationValue
* and bNumInterfaces will not exist and sscanf will
* fail. Check for these cases and don't treat them
* as errors.
*/
ret = sscanf(attr, format, &num);
if (ret < 1) {
err("sscanf failed");
goto err;
if (strcmp(name, "bConfigurationValue") &&
strcmp(name, "bNumInterfaces")) {
err("sscanf failed for attribute %s", name);
goto err;
}
}
err:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册