25 Mar
2024
25 Mar
'24
9:11 a.m.
Rémi Bernon (@rbernon) commented about dlls/winebus.sys/bus_udev.c:
+ TRACE("udev device %s does not have devnode, ignoring\n", syspath); + goto out; + } + + if (strcmp(action, "remove")) udev_add_device(dev, -1); else { - impl = find_device_from_devnode(udev_device_get_devnode(dev)); + impl = find_device_from_devnode(devnode); if (impl) bus_event_queue_device_removed(&event_queue, &impl->unix_device); else WARN("failed to find device for udev device %p\n", dev); }
+out: udev_device_unref(dev);
if (!syspath)
WARN("udev device %p does not have syspath!\n", dev);
else if (!action)
WARN("event for udev device %s does not have any action!\n", syspath);
else if (!devnode)
{
/* Pretty normal case, not all devices have associated
* devnodes. For example root input devices do not, but
* related/child mouse and event devices do.
*/
TRACE("udev device %s does not have devnode, ignoring\n", syspath);
}
else if (strcmp(action, "remove"))
udev_add_device(dev, -1);
else
{
impl = find_device_from_devnode(devnode);
if (impl) bus_event_queue_device_removed(&event_queue, &impl->unix_device);
else WARN("failed to find device for udev device %p\n", dev);
}
udev_device_unref(dev);
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/5385#note_65971