From: Greg Kroah-Hartman Date: Fri, 6 Sep 2019 09:53:41 +0000 (+0200) Subject: 5.2-stable patches X-Git-Tag: v4.19.71~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=086f4245e4842c97e7c9f73f912b7ad83513caf9;p=thirdparty%2Fkernel%2Fstable-queue.git 5.2-stable patches added patches: revert-input-elantech-enable-smbus-on-new-2018-systems.patch --- diff --git a/queue-5.2/revert-input-elantech-enable-smbus-on-new-2018-systems.patch b/queue-5.2/revert-input-elantech-enable-smbus-on-new-2018-systems.patch new file mode 100644 index 00000000000..8375ac2df61 --- /dev/null +++ b/queue-5.2/revert-input-elantech-enable-smbus-on-new-2018-systems.patch @@ -0,0 +1,101 @@ +From benjamin.tissoires@redhat.com Fri Sep 6 11:51:02 2019 +From: Benjamin Tissoires +Date: Fri, 6 Sep 2019 10:53:45 +0200 +Subject: Revert "Input: elantech - enable SMBus on new (2018+) systems" +To: Dmitry Torokhov , Greg Kroah-Hartman , Kai-Heng Feng , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org +Cc: Benjamin Tissoires +Message-ID: <20190906085345.26279-1-benjamin.tissoires@redhat.com> + +From: Benjamin Tissoires + +This reverts commit 60956b018bfe23b879405a7d88103d0a8f06a5e3 which is +commit 883a2a80f79ca5c0c105605fafabd1f3df99b34c upstream. + +This patch depends on an other series: +https://patchwork.kernel.org/project/linux-input/list/?series=122327&state=%2A&archive=both + +It was a mistake to backport it in the v5.2 branch, as there +is a high chance we encounter a touchpad that needs the series +above. + +Link: https://bugzilla.kernel.org/show_bug.cgi?id=204733 +Link: https://bugzilla.kernel.org/show_bug.cgi?id=204771 +Signed-off-by: Benjamin Tissoires +Signed-off-by: Greg Kroah-Hartman +--- a/drivers/input/mouse/elantech.c ++++ b/drivers/input/mouse/elantech.c +@@ -1807,30 +1807,6 @@ static int elantech_create_smbus(struct + leave_breadcrumbs); + } + +-static bool elantech_use_host_notify(struct psmouse *psmouse, +- struct elantech_device_info *info) +-{ +- if (ETP_NEW_IC_SMBUS_HOST_NOTIFY(info->fw_version)) +- return true; +- +- switch (info->bus) { +- case ETP_BUS_PS2_ONLY: +- /* expected case */ +- break; +- case ETP_BUS_SMB_HST_NTFY_ONLY: +- case ETP_BUS_PS2_SMB_HST_NTFY: +- /* SMbus implementation is stable since 2018 */ +- if (dmi_get_bios_year() >= 2018) +- return true; +- default: +- psmouse_dbg(psmouse, +- "Ignoring SMBus bus provider %d\n", info->bus); +- break; +- } +- +- return false; +-} +- + /** + * elantech_setup_smbus - called once the PS/2 devices are enumerated + * and decides to instantiate a SMBus InterTouch device. +@@ -1850,7 +1826,7 @@ static int elantech_setup_smbus(struct p + * i2c_blacklist_pnp_ids. + * Old ICs are up to the user to decide. + */ +- if (!elantech_use_host_notify(psmouse, info) || ++ if (!ETP_NEW_IC_SMBUS_HOST_NOTIFY(info->fw_version) || + psmouse_matches_pnp_id(psmouse, i2c_blacklist_pnp_ids)) + return -ENXIO; + } +@@ -1870,6 +1846,34 @@ static int elantech_setup_smbus(struct p + return 0; + } + ++static bool elantech_use_host_notify(struct psmouse *psmouse, ++ struct elantech_device_info *info) ++{ ++ if (ETP_NEW_IC_SMBUS_HOST_NOTIFY(info->fw_version)) ++ return true; ++ ++ switch (info->bus) { ++ case ETP_BUS_PS2_ONLY: ++ /* expected case */ ++ break; ++ case ETP_BUS_SMB_ALERT_ONLY: ++ /* fall-through */ ++ case ETP_BUS_PS2_SMB_ALERT: ++ psmouse_dbg(psmouse, "Ignoring SMBus provider through alert protocol.\n"); ++ break; ++ case ETP_BUS_SMB_HST_NTFY_ONLY: ++ /* fall-through */ ++ case ETP_BUS_PS2_SMB_HST_NTFY: ++ return true; ++ default: ++ psmouse_dbg(psmouse, ++ "Ignoring SMBus bus provider %d.\n", ++ info->bus); ++ } ++ ++ return false; ++} ++ + int elantech_init_smbus(struct psmouse *psmouse) + { + struct elantech_device_info info;