diff options
author | Alexander Usyskin <alexander.usyskin@intel.com> | 2022-04-19 22:33:10 +0300 |
---|---|---|
committer | Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> | 2022-04-21 21:34:11 +0300 |
commit | ce97126d6c1825fc7b3dd21a66a83458055bcbd7 (patch) | |
tree | cfc2c6a7d435cbafbb1d3f9fe83c50b596dac889 /drivers/misc/mei | |
parent | a98c30fdc00e146daed013598f10708d6b0ef11e (diff) | |
download | linux-ce97126d6c1825fc7b3dd21a66a83458055bcbd7.tar.xz |
mei: gsc: setup char driver alive in spite of firmware handshake failure
Setup char device in spite of firmware handshake failure.
In order to provide host access to the firmware status registers and other
information required for the manufacturing process.
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220419193314.526966-4-daniele.ceraolospurio@intel.com
Diffstat (limited to 'drivers/misc/mei')
-rw-r--r-- | drivers/misc/mei/gsc-me.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/misc/mei/gsc-me.c b/drivers/misc/mei/gsc-me.c index c474094645a0..c91bf440ea26 100644 --- a/drivers/misc/mei/gsc-me.c +++ b/drivers/misc/mei/gsc-me.c @@ -79,11 +79,12 @@ static int mei_gsc_probe(struct auxiliary_device *aux_dev, pm_runtime_set_active(device); pm_runtime_enable(device); - if (mei_start(dev)) { - dev_err(device, "init hw failure.\n"); - ret = -ENODEV; - goto irq_err; - } + /* Continue to char device setup in spite of firmware handshake failure. + * In order to provide access to the firmware status registers to the user + * space via sysfs. + */ + if (mei_start(dev)) + dev_warn(device, "init hw failure.\n"); pm_runtime_set_autosuspend_delay(device, MEI_GSC_RPM_TIMEOUT); pm_runtime_use_autosuspend(device); @@ -97,7 +98,6 @@ static int mei_gsc_probe(struct auxiliary_device *aux_dev, register_err: mei_stop(dev); -irq_err: devm_free_irq(device, hw->irq, dev); err: |