4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Vincent Palatin vpalatin@chromium.org
[ Upstream commit 0dbbf25561b29ffab5ba6277429760abdf49ceff ]
If we cannot communicate with the EC chip to detect the protocol version and its features, it's very likely useless to continue. Else we will commit all kind of uninformed mistakes (using the wrong protocol, the wrong buffer size, mixing the EC with other chips).
Signed-off-by: Vincent Palatin vpalatin@chromium.org Acked-by: Benson Leung bleung@chromium.org Signed-off-by: Enric Balletbo i Serra enric.balletbo@collabora.com Reviewed-by: Gwendal Grignou gwendal@chromium.org Reviewed-by: Andy Shevchenko andy.shevchenko@gmail.com Signed-off-by: Lee Jones lee.jones@linaro.org Signed-off-by: Sasha Levin alexander.levin@microsoft.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org --- drivers/mfd/cros_ec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
--- a/drivers/mfd/cros_ec.c +++ b/drivers/mfd/cros_ec.c @@ -86,7 +86,11 @@ int cros_ec_register(struct cros_ec_devi
mutex_init(&ec_dev->lock);
- cros_ec_query_all(ec_dev); + err = cros_ec_query_all(ec_dev); + if (err) { + dev_err(dev, "Cannot identify the EC: error %d\n", err); + return err; + }
if (ec_dev->irq) { err = request_threaded_irq(ec_dev->irq, NULL, ec_irq_thread,