Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- dlls/winebus.sys/bus_udev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c index 0aade2fd104..1f563ebb56f 100644 --- a/dlls/winebus.sys/bus_udev.c +++ b/dlls/winebus.sys/bus_udev.c @@ -791,7 +791,7 @@ static NTSTATUS lnxev_device_haptics_start(struct unix_device *iface, DWORD dura }; struct input_event event;
- TRACE("iface %p, duration_ms %u, rumble_intensity %u, buzz_intensity %u stub!\n", iface, + TRACE("iface %p, duration_ms %u, rumble_intensity %u, buzz_intensity %u.\n", iface, duration_ms, rumble_intensity, buzz_intensity);
effect.replay.length = duration_ms;
Callers are already holding it.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com --- dlls/winebus.sys/main.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c index 6a4695cd3be..c9e930632e2 100644 --- a/dlls/winebus.sys/main.c +++ b/dlls/winebus.sys/main.c @@ -309,20 +309,11 @@ static DEVICE_OBJECT *bus_create_hid_device(struct device_desc *desc, struct uni static DEVICE_OBJECT *bus_find_unix_device(struct unix_device *unix_device) { struct device_extension *ext; - DEVICE_OBJECT *ret = NULL;
- RtlEnterCriticalSection(&device_list_cs); LIST_FOR_EACH_ENTRY(ext, &device_list, struct device_extension, entry) - { - if (ext->unix_device == unix_device) - { - ret = ext->device; - break; - } - } - RtlLeaveCriticalSection(&device_list_cs); + if (ext->unix_device == unix_device) return ext->device;
- return ret; + return NULL; }
static void bus_unlink_hid_device(DEVICE_OBJECT *device)
Signed-off-by: Rémi Bernon rbernon@codeweavers.com ---
From Proton, to support cases where udev doesn't report it properly.
dlls/winebus.sys/bus_udev.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c index 1f563ebb56f..f780aac2785 100644 --- a/dlls/winebus.sys/bus_udev.c +++ b/dlls/winebus.sys/bus_udev.c @@ -1048,6 +1048,7 @@ static void get_device_subsystem_info(struct udev_device *dev, char const *subsy { struct udev_device *parent = NULL; const char *ptr, *next, *tmp; + char buffer[MAX_PATH]; DWORD bus = 0;
if (!(parent = udev_device_get_parent_with_subsystem_devtype(dev, subsystem, NULL))) return; @@ -1062,11 +1063,16 @@ static void get_device_subsystem_info(struct udev_device *dev, char const *subsy
if (!strncmp(ptr, "HID_UNIQ=", 9)) { - char buffer[MAX_PATH]; if (desc->serialnumber[0]) continue; if (sscanf(ptr, "HID_UNIQ=%256s\n", buffer) == 1) ntdll_umbstowcs(buffer, strlen(buffer) + 1, desc->serialnumber, ARRAY_SIZE(desc->serialnumber)); } + if (!strncmp(ptr, "HID_NAME=", 7)) + { + if (desc->product[0]) continue; + if (sscanf(ptr, "HID_NAME=%256s\n", buffer) == 1) + ntdll_umbstowcs(buffer, strlen(buffer) + 1, desc->product, ARRAY_SIZE(desc->product)); + } if (!strncmp(ptr, "HID_PHYS=", 9) || !strncmp(ptr, "PHYS="", 6)) { if (!(tmp = strstr(ptr, "/input")) || tmp >= next) continue;