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: Valentina Manea <valentina.manea.m@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6080cd0e92
commit
87f627f7bd
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue