Received: by 10.223.176.5 with SMTP id f5csp2841450wra; Mon, 5 Feb 2018 10:46:05 -0800 (PST) X-Google-Smtp-Source: AH8x225hQN3y/6+G1/BbvOsuro/PKshnREZLS7Ekfcu1uuGPtEZVNs0WrWrkekpzhogpj0GNVmDu X-Received: by 10.99.156.26 with SMTP id f26mr38794481pge.65.1517856365831; Mon, 05 Feb 2018 10:46:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1517856365; cv=none; d=google.com; s=arc-20160816; b=vNMB+Jg5/5TiOZqrLfzMo0nGdn0/RG7EeNFIleBDIe+8g5CEveTBg4R7e+Pt4I89Vg wsQqKlfFzb9Tv1BCEFwarVMtL+Aw+g9b4WPKn7nBOOD2SvykZTx6ADE0rsjO+atIFGS4 9gjZWfG5O4IYQhvTq4oCUuEc/wvUWC9kRaTdrK0RYT7MyT7ELrHhw0sWDwMhwxPnxvek KacJzEukAN8bNF7xIIrpNfzUYEmCA+zPxOEu8jodFO49d80xzOct66uiryJVJsHnEQmv 9g+nzXXz0vwOKApDO/PUT0WOX48FDsRJhnjA/iuk8cTDOm4Fq0KciNkw0ywQiDdI/0GJ saZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=Tgr556sEa3w78jb1yunaM5XIxyU+K5Wd6U8bGOUa754=; b=QKW3KKxLelezeL9x9ksyEJXKErgjrTNTMKy4lSgGeASg1BoYAJtG/x3dohTGk1V9id 4WNgqhQdlH+pBaWuJawRNy9mwFax/YsP52FX8En3CCs5POHHQq8sqoiqN0mv/g1XsnIo KRtSHKSvpy05Fy9cuhMx/yymoWd3v3+Zom6k4fvOmPZCe8KhQZyn325cQ9MgG5moRw0Y Z+Px4yWQbEVNHNoqSd0xPoavB9nhKVZZGlBz0zBQ9gk5/k3Uno5yBqJ0WzJsOr7t//3e FNx6GyIxyuMlPwUbMmAbDwtz06FR4wm+2oAc6b6c/zjHoPIZd2MS0zYkfNdwCtyef+69 Ghbw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b35-v6si1064987plh.147.2018.02.05.10.45.51; Mon, 05 Feb 2018 10:46:05 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753375AbeBESpT (ORCPT + 99 others); Mon, 5 Feb 2018 13:45:19 -0500 Received: from mail.linuxfoundation.org ([140.211.169.12]:53330 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753868AbeBES0K (ORCPT ); Mon, 5 Feb 2018 13:26:10 -0500 Received: from localhost (unknown [104.132.1.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 1920410B4; Mon, 5 Feb 2018 18:25:59 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Benson Leung , Dmitry Torokhov , Bo Hu Subject: [PATCH 3.18 01/36] Input: do not emit unneeded EV_SYN when suspending Date: Mon, 5 Feb 2018 10:23:29 -0800 Message-Id: <20180205182351.842876188@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180205182351.774761393@linuxfoundation.org> References: <20180205182351.774761393@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 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 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dmitry Torokhov commit 00159f19a5057cb779146afce1cceede692af346 upstream. Do not emit EV_SYN/SYN_REPORT on suspend if there were no keys that are still pressed as we are suspending the device (and in all other cases when input core is forcibly releasing keys via input_dev_release_keys() call). Reviewed-by: Benson Leung Signed-off-by: Dmitry Torokhov Signed-off-by: Bo Hu Signed-off-by: Greg Kroah-Hartman --- drivers/input/input.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -668,6 +668,7 @@ EXPORT_SYMBOL(input_close_device); */ static void input_dev_release_keys(struct input_dev *dev) { + bool need_sync = false; int code; if (is_event_supported(EV_KEY, dev->evbit, EV_MAX)) { @@ -675,9 +676,11 @@ static void input_dev_release_keys(struc if (is_event_supported(code, dev->keybit, KEY_MAX) && __test_and_clear_bit(code, dev->key)) { input_pass_event(dev, EV_KEY, code, 0); + need_sync = true; } } - input_pass_event(dev, EV_SYN, SYN_REPORT, 1); + if (need_sync) + input_pass_event(dev, EV_SYN, SYN_REPORT, 1); } }