linux-stable/drivers/hid
José Expósito 39d10f0dfb HID: magicmouse: Do not set BTN_MOUSE on double report
[ Upstream commit bb5f0c855d ]

Under certain conditions the Magic Trackpad can group 2 reports in a
single packet. The packet is split and the raw event function is
invoked recursively for each part.

However, after processing each part, the BTN_MOUSE status is updated,
sending multiple click events. [1]

Return after processing double reports to avoid this issue.

Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/811  # [1]
Fixes: a462230e16 ("HID: magicmouse: enable Magic Trackpad support")
Reported-by: Nulo <git@nulo.in>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Link: https://lore.kernel.org/r/20221009182747.90730-1-jose.exposito89@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-30 09:41:16 +01:00
..
i2c-hid HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports 2022-04-08 14:40:15 +02:00
intel-ish-hid hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message 2022-09-20 12:38:31 +02:00
usbhid HID: usbhid: free raw_report buffers in usbhid_stop 2021-10-06 15:56:03 +02:00
hid-a4tech.c HID: a4tech: use A4_2WHEEL_MOUSE_HACK_B8 for A4TECH NB-95 2021-06-18 10:00:03 +02:00
hid-accutouch.c
hid-alps.c HID: alps: Declare U1_UNICORN_LEGACY support 2022-08-21 15:16:01 +02:00
hid-apple.c HID: apple: Do not reset quirks when the Fn key is not found 2022-01-27 10:54:11 +01:00
hid-appleir.c
hid-asus.c HID: add hid_is_usb() function to make it simpler for USB detection 2021-12-14 11:32:33 +01:00
hid-aureal.c
hid-axff.c
hid-belkin.c
hid-betopff.c HID: betop: fix slab-out-of-bounds Write in betop_probe 2021-10-06 15:56:03 +02:00
hid-bigbenff.c HID: bigben: fix slab-out-of-bounds Write in bigben_probe 2022-06-09 10:20:54 +02:00
hid-cherry.c
hid-chicony.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-cmedia.c
hid-core.c HID: do not use down_interruptible() when unbinding devices 2021-07-14 16:55:57 +02:00
hid-corsair.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-cougar.c
hid-cp2112.c HID: cp2112: prevent a buffer overflow in cp2112_xfer() 2022-08-21 15:15:53 +02:00
hid-creative-sb0540.c
hid-cypress.c HID: cypress: Support Varmilo Keyboards' media hotkeys 2020-10-23 13:23:44 +02:00
hid-debug.c HID: add mapping for KEY_ALL_APPLICATIONS 2022-03-08 19:09:38 +01:00
hid-dr.c
hid-elan.c HID: elan: Fix potential double free in elan_input_configured 2022-06-09 10:21:02 +02:00
hid-elecom.c
hid-elo.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-emsff.c
hid-ezkey.c
hid-gaff.c
hid-gembird.c
hid-generic.c
hid-gfrm.c
hid-glorious.c
hid-google-hammer.c HID: google: add eel USB id 2021-12-14 11:32:33 +01:00
hid-gt683r.c HID: gt683r: add missing MODULE_DEVICE_TABLE 2021-06-18 10:00:04 +02:00
hid-gyration.c
hid-holtek-kbd.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-holtek-mouse.c HID: holtek: fix mouse probing 2021-12-29 12:25:54 +01:00
hid-holtekff.c
hid-hyperv.c HID: hyperv: Use VMBUS_RING_SIZE() for ringbuffer sizes 2020-09-28 08:57:28 +00:00
hid-icade.c
hid-ids.h HID: hid-input: add Surface Go battery quirk 2022-08-21 15:16:15 +02:00
hid-input.c HID: hid-input: add Surface Go battery quirk 2022-08-21 15:16:15 +02:00
hid-ite.c HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses 2020-10-22 13:42:34 +02:00
hid-jabra.c
hid-kensington.c
hid-keytouch.c
hid-kye.c
hid-lcpower.c
hid-led.c HID: hid-led: fix maximum brightness for Dream Cheeky 2022-06-09 10:21:02 +02:00
hid-lenovo.c HID: lenovo: Map mic-mute button to KEY_F20 instead of KEY_MICMUTE 2021-05-14 09:50:33 +02:00
hid-lg-g15.c
hid-lg.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-lg.h
hid-lg2ff.c
hid-lg3ff.c
hid-lg4ff.c
hid-lg4ff.h
hid-lgff.c
hid-logitech-dj.c HID: logitech-dj: add new lightspeed receiver id 2022-04-08 14:39:47 +02:00
hid-logitech-hidpp.c HID: logitech-hidpp: initialize level variable 2021-06-10 13:39:15 +02:00
hid-macally.c
hid-magicmouse.c HID: magicmouse: Do not set BTN_MOUSE on double report 2022-10-30 09:41:16 +01:00
hid-maltron.c
hid-mcp2221.c HID: mcp2221: prevent a buffer overflow in mcp_smbus_write() 2022-08-21 15:16:01 +02:00
hid-mf.c HID: mf: add support for 0079:1846 Mayflash/Dragonrise USB Gamecube Adapter 2021-03-11 14:17:24 +01:00
hid-microsoft.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid 2020-09-02 12:55:46 -07:00
hid-monterey.c
hid-multitouch.c HID: multitouch: Add memory barriers 2022-10-26 13:25:09 +02:00
hid-nti.c
hid-ntrig.c
hid-ortek.c
hid-penmount.c
hid-petalynx.c
hid-picolcd.h
hid-picolcd_backlight.c
hid-picolcd_cir.c media: rc: harmonize infrared durations to microseconds 2020-09-03 16:18:55 +02:00
hid-picolcd_core.c
hid-picolcd_debugfs.c
hid-picolcd_fb.c
hid-picolcd_lcd.c
hid-picolcd_leds.c
hid-pl.c
hid-plantronics.c HID: plantronics: Workaround for double volume key presses 2021-05-14 09:50:28 +02:00
hid-primax.c
hid-prodikeys.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-quirks.c HID:Add support for UGTABLET WP5540 2022-02-23 12:00:57 +01:00
hid-redragon.c
hid-retrode.c
hid-rmi.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2020-10-23 16:16:31 -07:00
hid-roccat-arvo.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-arvo.h
hid-roccat-common.c
hid-roccat-common.h
hid-roccat-isku.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-isku.h
hid-roccat-kone.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-kone.h
hid-roccat-koneplus.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-koneplus.h
hid-roccat-konepure.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-kovaplus.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-kovaplus.h
hid-roccat-lua.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-lua.h
hid-roccat-pyra.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-pyra.h
hid-roccat-ryos.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-savu.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-roccat-savu.h
hid-roccat.c HID: roccat: Fix use-after-free in roccat_read() 2022-10-26 13:25:53 +02:00
hid-saitek.c
hid-samsung.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-sensor-custom.c
hid-sensor-hub.c HID: hid-sensor-hub: Return error for hid_set_field() failure 2021-06-18 10:00:03 +02:00
hid-sjoy.c
hid-sony.c
hid-speedlink.c
hid-steam.c HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report 2022-09-05 10:28:55 +02:00
hid-steelseries.c
hid-sunplus.c
hid-tivo.c
hid-tmff.c
hid-topseed.c
hid-twinhan.c
hid-u2fzero.c HID: add hid_is_usb() function to make it simpler for USB detection 2021-12-14 11:32:33 +01:00
hid-uclogic-core.c HID: check for valid USB device for many HID drivers 2021-12-14 11:32:34 +01:00
hid-uclogic-params.c HID: hid-uclogic-params: Invalid parameter check in uclogic_params_frame_init_v1_buttonpad 2022-01-27 10:54:02 +01:00
hid-uclogic-params.h
hid-uclogic-rdesc.c
hid-uclogic-rdesc.h
hid-udraw-ps3.c
hid-viewsonic.c
hid-vivaldi.c HID: vivaldi: fix sysfs attributes leak 2022-03-16 14:15:56 +01:00
hid-waltop.c
hid-wiimote-core.c HID: wiimote: narrow spinlock range in wiimote_hid_event() 2020-09-07 16:03:51 +02:00
hid-wiimote-debug.c
hid-wiimote-modules.c
hid-wiimote.h
hid-xinmo.c
hid-zpff.c
hid-zydacron.c
hidraw.c HID: hidraw: fix memory leak in hidraw_release() 2022-09-05 10:28:56 +02:00
Kconfig HID: add USB_HID dependancy on some USB HID drivers 2021-12-14 11:32:34 +01:00
Makefile HID: add vivaldi HID driver 2020-09-30 22:44:26 +02:00
uhid.c HID: uhid: Fix worker destroying device without any protection 2022-01-27 10:53:40 +01:00
wacom.h
wacom_sys.c HID: wacom: Don't register pad_input for touch switch 2022-08-21 15:15:19 +02:00
wacom_wac.c HID: wacom: Don't register pad_input for touch switch 2022-08-21 15:15:19 +02:00
wacom_wac.h HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts 2021-12-01 09:19:00 +01:00