On Mon Jun 23 13:00:35 2025 +0200, Hans de Goede wrote: > The ipu-bridge code waits for the IVSC to become ready (on platforms with > an IVSC chip). > > It does this by returning -EPROBE_DEFER, but it does not use > dev_err_probe() so no reason for deferring gets registered. > > After 30 seconds the kernel logs a warning that the probe is still > deferred, which looks like this: > > [ 33.951709] pci 0000:00:14.3: deferred probe pending: (reason unknown) > > Use dev_err_probe() when returning -EPROBE_DEFER to register the probe > deferral reason changing the error to: > > deferred probe pending: waiting for IVSC to become ready > > to help with debugging why drivers are not binding if the iVSC does > not become ready for some reason. > > Signed-off-by: Hans de Goede <hdego...@redhat.com> > Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com> > Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>
Patch committed. Thanks, Hans Verkuil drivers/media/pci/intel/ipu-bridge.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- diff --git a/drivers/media/pci/intel/ipu-bridge.c b/drivers/media/pci/intel/ipu-bridge.c index 2124fad0570b..4e579352ab2c 100644 --- a/drivers/media/pci/intel/ipu-bridge.c +++ b/drivers/media/pci/intel/ipu-bridge.c @@ -815,7 +815,8 @@ int ipu_bridge_init(struct device *dev, return 0; if (!ipu_bridge_ivsc_is_ready()) - return -EPROBE_DEFER; + return dev_err_probe(dev, -EPROBE_DEFER, + "waiting for IVSC to become ready\n"); bridge = kzalloc(sizeof(*bridge), GFP_KERNEL); if (!bridge)