[patch 28/28] usb: add PRODUCT, TYPE to usb-interface events
Greg KH <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
usb-add-product-type-to-usb-interface-events.patch
(text/plain, 1.5 KB)
-stable review patch. If anyone has any objections, please let us know. ------------------ From: Kay Sievers <[email protected]> This fixes a regression for userspace programs that were relying on these events. Signed-off-by: Kay Sievers <[email protected]> Cc: Andreas Jellinghaus <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]> --- drivers/usb/core/message.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1344,6 +1344,30 @@ static int usb_if_uevent(struct device * usb_dev = interface_to_usbdev(intf); alt = intf->cur_altsetting; +#ifdef CONFIG_USB_DEVICEFS + if (add_uevent_var(envp, num_envp, &i, + buffer, buffer_size, &length, + "DEVICE=/proc/bus/usb/%03d/%03d", + usb_dev->bus->busnum, usb_dev->devnum)) + return -ENOMEM; +#endif + + if (add_uevent_var(envp, num_envp, &i, + buffer, buffer_size, &length, + "PRODUCT=%x/%x/%x", + le16_to_cpu(usb_dev->descriptor.idVendor), + le16_to_cpu(usb_dev->descriptor.idProduct), + le16_to_cpu(usb_dev->descriptor.bcdDevice))) + return -ENOMEM; + + if (add_uevent_var(envp, num_envp, &i, + buffer, buffer_size, &length, + "TYPE=%d/%d/%d", + usb_dev->descriptor.bDeviceClass, + usb_dev->descriptor.bDeviceSubClass, + usb_dev->descriptor.bDeviceProtocol)) + return -ENOMEM; + if (add_uevent_var(envp, num_envp, &i, buffer, buffer_size, &length, "INTERFACE=%d/%d/%d", --