On Friday, 26 November 2021 09:00:06 CET Bernatowicz, Marcin wrote:
> 
> On 11/18/2021 9:41 AM, Janusz Krzysztofik wrote:
> > Strange -ENODEV responses from the kernel to i915 driver rebind attempts
> > have been sporadically observed.  After successfully unbinding the driver
> > from a device by writing a string representing its PCI bus address to
> > /sys/bus/pci/driver/i915/unbind, the test then fails while writing the
> > same device PCI bus address string to /sys/bus/pci/drivers/i915/bind.  It
> > is unlikely that the device disappears from the bus when this happens --
> > the test would attempt to rescan the bus in such cases while it doesn't.
> > 
> > To shed more light on what may be going on, extend error messages emitted
> > by the test with the device PCI bus address string it uses also printed.
> > 
> > Signed-off-by: Janusz Krzysztofik <janusz.krzyszto...@linux.intel.com>
> > ---
> >   tests/core_hotunplug.c | 12 ++++++------
> >   1 file changed, 6 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
> > index b36616688..2f2fb7ac1 100644
> > --- a/tests/core_hotunplug.c
> > +++ b/tests/core_hotunplug.c
> > @@ -174,11 +174,11 @@ static void driver_unbind(struct hotunplug *priv, 
> > const char *prefix,
> >     igt_set_timeout(timeout, "Driver unbind timeout!");
> >     igt_assert_f(igt_sysfs_set(priv->fd.sysfs_drv, "unbind",
> >                                priv->dev_bus_addr),
> > -                "Driver unbind failure!\n");
> > +                "Driver unbind failure (%s)!\n", priv->dev_bus_addr);
> >     igt_reset_timeout();
> >   
> >     igt_assert_f(faccessat(priv->fd.sysfs_drv, priv->dev_bus_addr, F_OK, 0),
> > -                "Unbound device still present\n");
> > +                "Unbound device still present (%s)\n", priv->dev_bus_addr);
> >   }
> >   
> >   /* Re-bind the driver to the device */
> > @@ -190,12 +190,12 @@ static void driver_bind(struct hotunplug *priv, int 
> > timeout)
> >     igt_set_timeout(timeout, "Driver re-bind timeout!");
> >     igt_assert_f(igt_sysfs_set(priv->fd.sysfs_drv, "bind",
> >                                priv->dev_bus_addr),
> > -                "Driver re-bind failure\n!");
> > +                "Driver re-bind failure (%s)!\n", priv->dev_bus_addr);
> >     igt_reset_timeout();
> >   
> >     igt_fail_on_f(faccessat(priv->fd.sysfs_drv, priv->dev_bus_addr,
> >                             F_OK, 0),
> > -                 "Rebound device not present!\n");
> > +                 "Rebound device not present (%s)!\n", priv->dev_bus_addr);
> >   
> >     if (priv->snd_unload)
> >             igt_kmod_load("snd_hda_intel", NULL);
> > @@ -223,7 +223,7 @@ static void device_unplug(struct hotunplug *priv, const 
> > char *prefix,
> >     igt_assert_eq(priv->fd.sysfs_dev, -1);
> >   
> >     igt_assert_f(faccessat(priv->fd.sysfs_bus, priv->dev_bus_addr, F_OK, 0),
> > -                "Unplugged device still present\n");
> > +                "Unplugged device still present (%s)\n", 
> > priv->dev_bus_addr);
> >   }
> >   
> >   /* Re-discover the device by rescanning its bus */
> > @@ -239,7 +239,7 @@ static void bus_rescan(struct hotunplug *priv, int 
> > timeout)
> >   
> >     igt_fail_on_f(faccessat(priv->fd.sysfs_bus, priv->dev_bus_addr,
> >                             F_OK, 0),
> > -                 "Fakely unplugged device not rediscovered!\n");
> > +                 "Fakely unplugged device not rediscovered (%s)!\n", 
> > priv->dev_bus_addr);
> >   }
> >   
> >   static void cleanup(struct hotunplug *priv)
> > 
> LGTM,
> Reviewed-by: Marcin Bernatowicz <marcin.bernatow...@linux.intel.com>

Thanks Marcin, pushed.

Janusz



Reply via email to