Commit cc3820ca authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

winebus.sys: Retrieve hidraw device strings from the parent USB device.

This partially reverts 164517fe. The manufacturer, product, and serial string attributes are not exposed by the HID device on Linux, but by its parent USB device. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46711Signed-off-by: 's avatarZebediah Figura <z.figura12@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent a0a3b6b9
......@@ -674,23 +674,23 @@ static NTSTATUS hidraw_get_reportdescriptor(DEVICE_OBJECT *device, BYTE *buffer,
static NTSTATUS hidraw_get_string(DEVICE_OBJECT *device, DWORD index, WCHAR *buffer, DWORD length)
{
struct udev_device *hiddev;
struct udev_device *usbdev;
struct platform_private *private = impl_from_DEVICE_OBJECT(device);
WCHAR *str = NULL;
hiddev = udev_device_get_parent_with_subsystem_devtype(private->udev_device, "hid", NULL);
if (hiddev)
usbdev = udev_device_get_parent_with_subsystem_devtype(private->udev_device, "usb", "usb_device");
if (usbdev)
{
switch (index)
{
case HID_STRING_ID_IPRODUCT:
str = get_sysattr_string(hiddev, "product");
str = get_sysattr_string(usbdev, "product");
break;
case HID_STRING_ID_IMANUFACTURER:
str = get_sysattr_string(hiddev, "manufacturer");
str = get_sysattr_string(usbdev, "manufacturer");
break;
case HID_STRING_ID_ISERIALNUMBER:
str = get_sysattr_string(hiddev, "serial");
str = get_sysattr_string(usbdev, "serial");
break;
default:
ERR("Unhandled string index %08x\n", index);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment