Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1008766imm; Fri, 28 Sep 2018 10:18:12 -0700 (PDT) X-Google-Smtp-Source: ACcGV61eqfyS9tn4RBWGzySHD/rrUfcP4uihNw/JGeda2dJ3HbIYOfnjIHf3Toe33rBzj5sY6/nr X-Received: by 2002:a17:902:167:: with SMTP id 94-v6mr17314918plb.142.1538155092335; Fri, 28 Sep 2018 10:18:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538155092; cv=none; d=google.com; s=arc-20160816; b=eNKY6riQyIPuWLNvbUBNRwC2cnnQbTN17RcGAEue6Vq/14hnrhD3w3OapgmnUsRch6 1ZrEGNRz1eJJmoztUptWQcDeUIn9PpSsC5REpji9JdWFWYfJ77ez0ZWp/bgbYmz0f+IT HtMcGLwRVMm4qFQlw8EhBHEwgxPRNktqHsOS9a6H3LkJ+VhCqqZbnp2hvWAjJv2Dunci 3bRjYvPjZ+W738eUbPlQjP+fDFQ49OtvEjQQXws+PtGa4crLbSoPI/z3/MyEP3rNCgJ0 vvLRPK7knyjkpUc4xLiCIK0/ZtpixXWFmwEZ/RtwhWE/BQD/tnFdutbVAOljIxx0V1+S 20+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=kYqmJBZOUhMvnpViRDm7LDJYSmDvSlwc74lk4ALniWo=; b=SL1fnib4bjr+dTqfDnnYYdU19huObFy5F2I8ROLL6JnQ9+JeKAFTpKCAU6/MI7yDa0 MxZNCwC/7Ri/4nK3xJVw3mRGD6/oISHPBJLWY4kGBvic/6kRMZDYXkbY1VFH3iekkPbN QTnQzXPvq82KUnt2Sb7q2EKTy2dghq8a7Sbc+kUZN1SL3z/EcbYNoEvB4Lui8iMJsq2H hMXJzMVSjHwu4Tj3Zu5nCV8sX5Sv6UcRnhoMsa5ui6YZh8C/m6D0YtuT1gZxMqIIv/fl oHP2zCy+w8R796UtvsApAXpw+rqJeGOv2zFVh7ZTMSnIIuuOFIrH/ZfitNpjyMM5aoak UAHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ENJKLdTI; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y22-v6si4967705pgj.436.2018.09.28.10.17.57; Fri, 28 Sep 2018 10:18:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ENJKLdTI; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729436AbeI1Xm0 (ORCPT + 99 others); Fri, 28 Sep 2018 19:42:26 -0400 Received: from mail-vs1-f67.google.com ([209.85.217.67]:35368 "EHLO mail-vs1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726934AbeI1Xm0 (ORCPT ); Fri, 28 Sep 2018 19:42:26 -0400 Received: by mail-vs1-f67.google.com with SMTP id n25-v6so581204vsm.2 for ; Fri, 28 Sep 2018 10:17:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=kYqmJBZOUhMvnpViRDm7LDJYSmDvSlwc74lk4ALniWo=; b=ENJKLdTIItYXKqe1z8XPaxkq6/CPzYw4347ZL/XNlwFPmtXtk2wIOmCiTpN66wIFZV Re91GttdLfHkVmDW4sIecRKy9z0vKgPtLklQWOdVaqpFui1VsdjYK6ag3kaIhYBo+EGL QuLPtdw+t4GKpQw2EAYWyrnvBMg5sCuzLqVi5wavkG9Bekrq6gmKdSptMzcHVynIV3WR hndqAU3w7uqOdiht60PmRNIIbX/W54dGFuYAFCAfKd0vI2DHlOQ614igQKfpAXAoaHqC 9wp8oGbrzPrBz/2/5z4SDXFrKR2wN0Ao5GJuxqlTrH4z/ZX/efKhKY2UgfjR1kCuzJCe u4Uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=kYqmJBZOUhMvnpViRDm7LDJYSmDvSlwc74lk4ALniWo=; b=Z2dLiGFFLR1IAMAqnFNG2XoUGiPzf6iSW+Ik4Umx0goOUsiJ4C40V0SbHlmhpUIGc/ oSuhtEFwjVJ22wbodMUwXpiKBveZHAOILK74Hxo9gsnYF4YqdRjxE/kGeiRMxSIfNsRg oEiJHaTYm9m+01LLUjRR4AKFV982/C06UnFEXzhMItgqLmjiQd9t1NsD2VSISPPaERNj T30G9Pl05Lli1eOl551HKeSNZYlfVl04DAUxPa2whbi+lhSWCPjOzkBq0iPtCbBU4zFF LmH1xWNWmmy3BwIu14+x/KUnaj/65ON+keLBgoNKbczKi6sLIEQuMok1IXHptU5l7Nk7 3+ew== X-Gm-Message-State: ABuFfogyNxl07xxTXK8AAbReGWJ+kXirnVswpE03DncF4iH6qfP3Vj3J ov7zVFms7lmZD9oOGGBSEWhtrMj00zAVa4Nywg== X-Received: by 2002:a67:6582:: with SMTP id z124-v6mr3087844vsb.11.1538155061432; Fri, 28 Sep 2018 10:17:41 -0700 (PDT) MIME-Version: 1.0 References: <22cc40a7-015b-6038-2093-8cd1ff0c807e@baylibre.com> <20180928170818.32124-1-jekarlson@gmail.com> In-Reply-To: <20180928170818.32124-1-jekarlson@gmail.com> From: Emil Karlson Date: Fri, 28 Sep 2018 20:16:21 +0300 Message-ID: Subject: Re: [PATCH] mfd: cros-ec: copy the whole event in get_next_event_xfer To: Emil Renner Berthing , Neil Armstrong , Stefan Adolfsson , Lee Jones , bleung@chromium.org, olof@lixom.net, Enric Balletbo i Serra , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I failed in In-Reply-To: <22cc40a7-015b-6038-2093-8cd1ff0c807e@baylibre.com> somehow. I was urged to go for correct rather than conservative fix on IRC. I have tested this on my message version 0 Kevin and it fixes the original problem for me, but someone should perhaps test this on newer system that has message version 1. Background work documented in commit message. Best regards -Emil On Fri, Sep 28, 2018 at 8:08 PM Emil Karlson wrote: > > Commit 57e94c8b974db2d83c60e1139c89a70806abbea0 caused cros-ec keyboard events > be truncated on many chromebooks so that Left and Right keys on Column 12 were > always 0. Use ret as memcpy len to fix this. > > drivers/platform/chrome/cros_ec_proto.c:509 > get_next_event_xfer uses ret from cros_ec_cmd_xfer for memcpy for msg->data len > drivers/platform/chrome/cros_ec_proto.c:445 > cros_ec_cmd_xfer gets ret from send_command > drivers/platform/chrome/cros_ec_proto.c:93 > send_command gets ret from bus specific xfer_fn > drivers/mfd/cros_ec_spi.c:598 > cros_ec_cmd_xfer_spi copies len amount to ec_msg->data and returns len as ret > drivers/mfd/cros_ec_i2c.c:267 > cros_ec_cmd_xfer_i2c copies len amount to ec_msg->data and returns len as ret > > so msg->data length is always the same as ret. > > Fixes: 57e94c8b974d ("mfd: cros-ec: Increase maximum mkbp event size") > Signed-off-by: Emil Karlson > --- > drivers/platform/chrome/cros_ec_proto.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/platform/chrome/cros_ec_proto.c b/drivers/platform/chrome/cros_ec_proto.c > index 398393ab5df8..b6fd4838f60f 100644 > --- a/drivers/platform/chrome/cros_ec_proto.c > +++ b/drivers/platform/chrome/cros_ec_proto.c > @@ -520,7 +520,7 @@ static int get_next_event_xfer(struct cros_ec_device *ec_dev, > ret = cros_ec_cmd_xfer(ec_dev, msg); > if (ret > 0) { > ec_dev->event_size = ret - 1; > - memcpy(&ec_dev->event_data, msg->data, ec_dev->event_size); > + memcpy(&ec_dev->event_data, msg->data, ret); > } > > return ret; > -- > 2.19.0 >