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.

Reviewed-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Signed-off-by: Alexander Usyskin <alexander.usys...@intel.com>
Signed-off-by: Tomas Winkler <tomas.wink...@intel.com>
---
V5: Rebase
V6: Rebase
V7: add Greg KH Reviewed-by
---
 drivers/misc/mei/gsc-me.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/misc/mei/gsc-me.c b/drivers/misc/mei/gsc-me.c
index 0afae70e0609..cf427f6fdec9 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 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);
-- 
2.32.0

Reply via email to