Hi Janusz, On 2024-07-26 at 10:34:56 +0200, Janusz Krzysztofik wrote: > CI sporadically reports the following issue: > > (device_reset:1335) DEBUG: rebind the driver to the device > (device_reset:1335) DEBUG: reopen the device > (device_reset:1335) drmtest-DEBUG: Looking for devices to open using filter 0: sys:/sys/devices/pci0000:00/0000:00:02.0 > (device_reset:1335) drmtest-DEBUG: Filter matched | /dev/dri/renderD128 > (device_reset:1335) drmtest-WARNING: No card matches the filter! [sys:/sys/devices/pci0000:00/0000:00:02.0] > (device_reset:1335) CRITICAL: Test assertion failure function healthcheck, file ../../../usr/src/igt-gpu-tools/tests/device_reset.c:393: > (device_reset:1335) CRITICAL: Failed assertion: dev->fds.dev >= 0 > (device_reset:1335) CRITICAL: Last errno: 22, Invalid argument > (device_reset:1335) CRITICAL: file descriptor dev->fds.dev failed > > After rebinding a DRM device driver, we now immediately start looking for > DRM devices that match our PCI filter established before unbind. The > above messages indicate that occasionally not all device nodes are ready > by the time we are doing that. > > Introduce a delay to give the kernel a chance to re-create in devtmpfs all > device nodes we are going to scan for. > > Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11626 > Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@xxxxxxxxxxxxxxx> LGTM, Reviewed-by: Kamil Konieczny <kamil.konieczny@xxxxxxxxxxxxxxx> > --- > tests/device_reset.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/tests/device_reset.c b/tests/device_reset.c > index a669e1224e..8ed3ef5220 100644 > --- a/tests/device_reset.c > +++ b/tests/device_reset.c > @@ -385,6 +385,8 @@ static bool is_i915_wedged(int i915) > static void healthcheck(struct device_fds *dev) > { > if (dev->fds.dev == -1) { > + /* give the kernel a breath for re-creating device nodes in devtmpfs */ > + sleep(1); > /* refresh device list */ > igt_devices_scan(true); > igt_debug("reopen the device\n"); > -- > 2.45.2 >