Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1459874

[RESEND PATCH 2/2] Input: cros_ec_keyb - Fix usage of cros_ec_cmd_xfer()

Path csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod
From Brian Norris <briannorris@chromium.org>
Newsgroups linux.kernel
Subject [RESEND PATCH 2/2] Input: cros_ec_keyb - Fix usage of cros_ec_cmd_xfer()
Date Wed, 10 Aug 2016 22:40:03 +0200
Message-ID <s4Isb-1A3-59@gated-at.bofh.it> (permalink)
References <s4Isa-1A3-23@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0/j4o8AE3xvwmRyxxOL3x4TXf6SbVytJQy/PZMQU8ts=; b=UP+WaYRvzVZwA7V/SMbTKQ3Qwgk+ozfyPhw5dEsbM3EyoLPtv9lUD+JtNS8t3M0aKA PJvFqiPk8Z5kR7qx+gEIfMBTXj7D3xQRYDgvEirzGowjdL42iunX1BiLZcO/22GHWYej sKbKoanOmval50eIFudbrg6kOB5Bo/M8LM8GA=
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=0/j4o8AE3xvwmRyxxOL3x4TXf6SbVytJQy/PZMQU8ts=; b=lX5VHvRvzYGpdk83gtDf2ZFshlvdgU51yr+M3e4uutG70XenobtZDYjBZyZCWB7+85 Oho9Fj6Ezk2JT+XB3bl9bbFhhL3xaMvivp4Y4tAZ/AbRdwT6RIDzoP+AZjFCvoztIQnj c1D+2NvTj1oOzLgojXUSDeLONX/WPlD4pZJ59g8zISq8k6wfUKb3E9R5WoKoq7SZyLdO sAJoZE9t58nYFXkxyjP7+Rm8/AAegw+GOnL6NuB3T5qKwQo2Ki3rKZaUfBBe1/ciLQXR J74NRo26Fr2Z+l8Cs9U/oy8ipp8LgMgRdkv3ZfqB0fS1/HqRJmVmzmEkGSfJF4oZ1tUf 6coQ==
X-Gm-Message-State AEkoousnFO/88QsBuGUP7vPp37RR0bzJtHe3K/bB0YoUxl4wixCR++eIRoMq0CRduQk+WIN7
X-Received by 10.98.21.131 with SMTP id 125mr10514119pfv.92.1470861452202; Wed, 10 Aug 2016 13:37:32 -0700 (PDT)
X-Mailer git-send-email 2.8.0.rc3.226.g39d4020
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 35
Organization linux.* mail to news gateway
X-Original-Cc Lee Jones <lee.jones@linaro.org>, Thierry Reding <thierry.reding@gmail.com>, Olof Johansson <olof@lixom.net>, Brian Norris <computersforpeace@gmail.com>, Javier Martinez Canillas <javier@osg.samsung.com>, Enric Balletbo <enric.balletbo@collabora.co.uk>, Shawn Nematbakhsh <shawnn@chromium.org>, Gwendal Grignou <gwendal@chromium.org>, Tomeu Vizoso <tomeu.vizoso@collabora.com>, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-input@vger.kernel.org, Guenter Roeck <linux@roeck-us.net>, Brian Norris <briannorris@chromium.org>, "# 9798ac6d32c1 mfd : cros_ec : Add cros_ec_cmd_xfer_status helper" <stable@vger.kernel.org>
X-Original-Date Wed, 10 Aug 2016 13:37:19 -0700
X-Original-Message-ID <1470861439-129201-3-git-send-email-briannorris@chromium.org>
X-Original-References <1470861439-129201-1-git-send-email-briannorris@chromium.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1459874

Show key headers only | View raw


cros_ec_cmd_xfer returns success status if the command transport
completes successfully, but the execution result is incorrectly ignored.
In many cases, the execution result is assumed to be successful, leading
to ignored errors and operating on uninitialized data.

We've recently introduced the cros_ec_cmd_xfer_status() helper to avoid these
problems. Let's use it.

[Regarding the 'Fixes' tag; there is significant refactoring since the driver's
introduction, but the underlying logical error exists throughout I believe]

Fixes: 6af6dc2d2aa6 ("input: Add ChromeOS EC keyboard driver")
Cc: <stable@vger.kernel.org> # 9798ac6d32c1 mfd: cros_ec: Add cros_ec_cmd_xfer_status() helper
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Javier Martinez Canillas <javier@osg.samsung.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/input/keyboard/cros_ec_keyb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c
index b01966dc7eb3..6e48616a3a88 100644
--- a/drivers/input/keyboard/cros_ec_keyb.c
+++ b/drivers/input/keyboard/cros_ec_keyb.c
@@ -160,7 +160,7 @@ static int cros_ec_keyb_get_state(struct cros_ec_keyb *ckdev, uint8_t *kb_state)
 	msg->insize = ckdev->cols;
 	msg->outsize = 0;
 
-	ret = cros_ec_cmd_xfer(ckdev->ec, msg);
+	ret = cros_ec_cmd_xfer_status(ckdev->ec, msg);
 	if (ret < 0) {
 		dev_err(ckdev->dev, "Error transferring EC message %d\n", ret);
 		goto exit;
-- 
2.8.0.rc3.226.g39d4020

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[RESEND PATCH 0/2] cros_ec: utilize cros_ec_cmd_xfer_status() Brian Norris <briannorris@chromium.org> - 2016-08-10 22:40 +0200
  [RESEND PATCH 1/2] i2c: cros-ec-tunnel: Fix usage of cros_ec_cmd_xfer() Brian Norris <briannorris@chromium.org> - 2016-08-10 22:40 +0200
    Re: [RESEND PATCH 1/2] i2c: cros-ec-tunnel: Fix usage of  cros_ec_cmd_xfer() Guenter Roeck <linux@roeck-us.net> - 2016-08-10 23:20 +0200
    Re: [RESEND PATCH 1/2] i2c: cros-ec-tunnel: Fix usage of  cros_ec_cmd_xfer() Wolfram Sang <wsa@the-dreams.de> - 2016-08-15 00:30 +0200
  [RESEND PATCH 2/2] Input: cros_ec_keyb - Fix usage of cros_ec_cmd_xfer() Brian Norris <briannorris@chromium.org> - 2016-08-10 22:40 +0200
    Re: [RESEND PATCH 2/2] Input: cros_ec_keyb - Fix usage of  cros_ec_cmd_xfer() Guenter Roeck <linux@roeck-us.net> - 2016-08-10 23:20 +0200

csiph-web