Commit 5ba091db authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'platform-drivers-x86-v5.12-3' of...

Merge tag 'platform-drivers-x86-v5.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86

Pull x86 platform driver fix from Hans de Goede:
 "A single bugfix to fix spurious wakeups from suspend caused by recent
  intel-hid driver changes"

* tag 'platform-drivers-x86-v5.12-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
  platform/x86: intel-hid: Fix spurious wakeups caused by tablet-mode events during suspend
parents e3bb2f4f a3790a8a
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -483,11 +483,16 @@ static void notify_handler(acpi_handle handle, u32 event, void *context)
			goto wakeup;

		/*
		 * Switch events will wake the device and report the new switch
		 * position to the input subsystem.
		 * Some devices send (duplicate) tablet-mode events when moved
		 * around even though the mode has not changed; and they do this
		 * even when suspended.
		 * Update the switch state in case it changed and then return
		 * without waking up to avoid spurious wakeups.
		 */
		if (priv->switches && (event == 0xcc || event == 0xcd))
			goto wakeup;
		if (event == 0xcc || event == 0xcd) {
			report_tablet_mode_event(priv->switches, event);
			return;
		}

		/* Wake up on 5-button array events only. */
		if (event == 0xc0 || !priv->array)
@@ -501,9 +506,6 @@ static void notify_handler(acpi_handle handle, u32 event, void *context)
wakeup:
		pm_wakeup_hard_event(&device->dev);

		if (report_tablet_mode_event(priv->switches, event))
			return;

		return;
	}