From 20907e5d86166c0840687adb4cd99f9cfe638e98 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Sat, 7 May 2022 14:57:52 +0200 Subject: core/device: Add sysfs argument to device_process_new() Instead of retrieving the new sysfs path in device_process_new(), let's pass the syspath we retrieved earlier to device_process_new() similar to how we do for other functions in core/device.c. --- src/core/device.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/core') diff --git a/src/core/device.c b/src/core/device.c index f65dbfcb1e..d886119ffe 100644 --- a/src/core/device.c +++ b/src/core/device.c @@ -552,16 +552,14 @@ static int device_setup_unit(Manager *m, sd_device *dev, const char *path, bool return 0; } -static void device_process_new(Manager *m, sd_device *dev) { - const char *sysfs, *dn, *alias; +static void device_process_new(Manager *m, sd_device *dev, const char *sysfs) { + const char *dn, *alias; dev_t devnum; int r; assert(m); assert(dev); - - if (sd_device_get_syspath(dev, &sysfs) < 0) - return; + assert(sysfs); /* Add the main unit named after the sysfs path. If this one fails, don't bother with the rest, as * this one shall be the main device unit the others just follow. (Compare with how @@ -837,11 +835,13 @@ static void device_enumerate(Manager *m) { if (!device_is_ready(dev)) continue; - device_process_new(m, dev); - - if (sd_device_get_syspath(dev, &sysfs) < 0) + r = sd_device_get_syspath(dev, &sysfs); + if (r < 0) { + log_device_debug_errno(dev, r, "Couldn't get syspath from device, ignoring: %m"); continue; + } + device_process_new(m, dev, sysfs); device_update_found_by_sysfs(m, sysfs, DEVICE_FOUND_UDEV, DEVICE_FOUND_UDEV); } @@ -928,7 +928,7 @@ static int device_dispatch_io(sd_device_monitor *monitor, sd_device *dev, void * } else if (device_is_ready(dev)) { - device_process_new(m, dev); + device_process_new(m, dev, sysfs); r = swap_process_device_new(m, dev); if (r < 0) -- cgit v1.2.3