summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanusz Krzysztofik <janusz.krzysztofik@linux.intel.com>2021-11-17 22:23:40 +0100
committerJanusz Krzysztofik <janusz.krzysztofik@linux.intel.com>2021-11-26 10:22:22 +0100
commit014b6cb631ecf3d878b7f6cc6d70bb1dc722c0c5 (patch)
tree93aa90a36150959597c2a31b7cc4f547b3771671
parent9ff3844d8c1fee8d8736d888f16223c4789fb69f (diff)
tests/core_hotunplug: Show device PCI bus address on errors
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.krzysztofik@linux.intel.com> Reviewed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
-rw-r--r--tests/core_hotunplug.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/tests/core_hotunplug.c b/tests/core_hotunplug.c
index b3661668..2f2fb7ac 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)