lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 24 Apr 2020 17:12:01 +0800 From: caizhaopeng@...ontech.com To: Linus Walleij <linus.walleij@...aro.org>, Mika Westerberg <mika.westerberg@...ux.intel.com>, Andy Shevchenko <andy@...nel.org> Cc: linux-gpio@...r.kernel.org, linux-kernel@...r.kernel.org, Zhangyueqian <zhangyueqian@...ontech.com>, Zhangshuang <zhangshuang@...ontech.com>, Hualet Wang <wangyaohua@...ontech.com>, Zhanglei <zhanglei@...ontech.com>, Caicai <caizhaopeng@...ontech.com> Subject: [PATCH 1/1] pinctrl: add IRQF_EARLY_RESUME flags with gpio irq for elan touchpad. From: Caicai <caizhaopeng@...ontech.com> I had tested two Notebook machines, the Intel i5(or amd ryzen) with elan touchpad, and there's a probability that the touchpad won't work after going to the S3/S4 to wake up, that it would appear no more than 15 times. I found that there's no interrupt to check for /proc/interrupt. It was found that the gpio interrupt of i2c was also not on top. By adding the gpio interrupt flags with IRQF_EARLY_RESUME, now the touchpad tested 200 + times works well. Signed-off-by: Caicai <caizhaopeng@...ontech.com> --- drivers/pinctrl/intel/pinctrl-intel.c | 2 +- drivers/pinctrl/pinctrl-amd.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c index 8fb6c9668c37..a350dade6aa0 100644 --- a/drivers/pinctrl/intel/pinctrl-intel.c +++ b/drivers/pinctrl/intel/pinctrl-intel.c @@ -1189,7 +1189,7 @@ static int intel_gpio_probe(struct intel_pinctrl *pctrl, int irq) * controllers share the same interrupt line. */ ret = devm_request_irq(pctrl->dev, irq, intel_gpio_irq, - IRQF_SHARED | IRQF_NO_THREAD, + IRQF_SHARED | IRQF_NO_THREAD | IRQF_EARLY_RESUME, dev_name(pctrl->dev), pctrl); if (ret) { dev_err(pctrl->dev, "failed to request interrupt\n"); diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c index 977792654e01..70c37f4da2b1 100644 --- a/drivers/pinctrl/pinctrl-amd.c +++ b/drivers/pinctrl/pinctrl-amd.c @@ -937,7 +937,7 @@ static int amd_gpio_probe(struct platform_device *pdev) } ret = devm_request_irq(&pdev->dev, irq_base, amd_gpio_irq_handler, - IRQF_SHARED, KBUILD_MODNAME, gpio_dev); + IRQF_SHARED | IRQF_EARLY_RESUME | IRQF_NO_THREAD, KBUILD_MODNAME, gpio_dev); if (ret) goto out2; -- 2.20.1
Powered by blists - more mailing lists