]> Git Repo - linux.git/commitdiff
HID: sony: Fix input device leak when connecting a DS4 twice using USB/BT
authorRoderick Colenbrander <[email protected]>
Sat, 25 Feb 2017 00:14:15 +0000 (16:14 -0800)
committerJiri Kosina <[email protected]>
Mon, 6 Mar 2017 13:43:16 +0000 (14:43 +0100)
When a user connects a DS4 twice using USB and BT, we reject the
second device connection after the setup work. We then perform
a cleanup, but during cleanup we are not removing the touchpad
device. This leads to leakage of an input device, which we would
never remove. It can likely result into a kernel oops as well
when the touchpad evdev node is accessed and the underlaying HID
device has been removed from the system.

[[email protected]: added stable annotation]
Fixes: ac797b95f532 ("HID: sony: Make the DS4 touchpad a separate device")
Cc: [email protected]
Signed-off-by: Roderick Colenbrander <[email protected]>
Reviewed-by: Benjamin Tissoires <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
drivers/hid/hid-sony.c

index f405b07d03816506215bd19fe3c878393370484a..740996f9bdd49dde3d26659f68d2addbff291c60 100644 (file)
@@ -2632,6 +2632,8 @@ err_stop:
                sony_leds_remove(sc);
        if (sc->quirks & SONY_BATTERY_SUPPORT)
                sony_battery_remove(sc);
+       if (sc->touchpad)
+               sony_unregister_touchpad(sc);
        sony_cancel_work_sync(sc);
        kfree(sc->output_report_dmabuf);
        sony_remove_dev_list(sc);
This page took 0.058738 seconds and 4 git commands to generate.