Message ID | 20250607033228.1475625-3-dan.j.williams@intel.com |
---|---|
State | New |
Headers | show |
Series | CXL: ACPI: faux: Fix cxl_core.ko module load regression | expand |
On Fri, 6 Jun 2025 20:32:27 -0700 Dan Williams <dan.j.williams@intel.com> wrote: > The acpi-einj conversion to faux_device_create() leads to a noisy error > message when the error injection facility is disabled. Quiet the error as > CXL error injection via ACPI expects the module to stay loaded even if the > error injection facility is disabled. > > This situation arose because CXL knows proper kernel named objects to > trigger errors against, but acpi-einj knows how to perform the error > injection. The injection mechanism is shared with non-CXL use cases. The > result is CXL now has a module dependency on einj-core.ko, and init/probe > failures are handled at runtime. > > Fixes: 6cb9441bfe8d ("ACPI: APEI: EINJ: Transition to the faux device interface") > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Cc: "Rafael J. Wysocki" <rafael@kernel.org> > Cc: Danilo Krummrich <dakr@kernel.org> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> I guess this is fair enough. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > drivers/base/faux.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/base/faux.c b/drivers/base/faux.c > index 934da77ca48b..f5fbda0a9a44 100644 > --- a/drivers/base/faux.c > +++ b/drivers/base/faux.c > @@ -170,7 +170,7 @@ struct faux_device *faux_device_create_with_groups(const char *name, > * successful is almost impossible to determine by the caller. > */ > if (!dev->driver) { > - dev_err(dev, "probe did not succeed, tearing down the device\n"); > + dev_dbg(dev, "probe did not succeed, tearing down the device\n"); > faux_device_destroy(faux_dev); > faux_dev = NULL; > }
diff --git a/drivers/base/faux.c b/drivers/base/faux.c index 934da77ca48b..f5fbda0a9a44 100644 --- a/drivers/base/faux.c +++ b/drivers/base/faux.c @@ -170,7 +170,7 @@ struct faux_device *faux_device_create_with_groups(const char *name, * successful is almost impossible to determine by the caller. */ if (!dev->driver) { - dev_err(dev, "probe did not succeed, tearing down the device\n"); + dev_dbg(dev, "probe did not succeed, tearing down the device\n"); faux_device_destroy(faux_dev); faux_dev = NULL; }
The acpi-einj conversion to faux_device_create() leads to a noisy error message when the error injection facility is disabled. Quiet the error as CXL error injection via ACPI expects the module to stay loaded even if the error injection facility is disabled. This situation arose because CXL knows proper kernel named objects to trigger errors against, but acpi-einj knows how to perform the error injection. The injection mechanism is shared with non-CXL use cases. The result is CXL now has a module dependency on einj-core.ko, and init/probe failures are handled at runtime. Fixes: 6cb9441bfe8d ("ACPI: APEI: EINJ: Transition to the faux device interface") Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "Rafael J. Wysocki" <rafael@kernel.org> Cc: Danilo Krummrich <dakr@kernel.org> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/base/faux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)