aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-sony.c
diff options
context:
space:
mode:
authorSimon Wood <simon@mungewell.org>2014-04-14 10:11:37 -0400
committerJiri Kosina <jkosina@suse.cz>2014-04-24 18:53:42 +0200
commit88f6576fa1552435abff7499a874244f6d8fa94e (patch)
treeb4c973aed4da08f6ef119ee4d160db5491ec21fd /drivers/hid/hid-sony.c
parentHID: sony: Add blink support to the Sixaxis and DualShock 4 LEDs (diff)
downloadlinux-dev-88f6576fa1552435abff7499a874244f6d8fa94e.tar.xz
linux-dev-88f6576fa1552435abff7499a874244f6d8fa94e.zip
HID: hid-sony - allow 3rd party INTEC controller to turn off all leds
Without this patch the 3rd party INTEC (PS3) controller will blink all leds when user turns them off, it appears to require an extra flag set. Signed-off-by: Simon Wood <simon@mungewell.org> Signed-off-by: Frank Praznik <frank.praznik@oh.rr.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-sony.c')
-rw-r--r--drivers/hid/hid-sony.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index 243722bbc3ed..2259eaa8b988 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -1420,6 +1420,10 @@ static void sixaxis_state_worker(struct work_struct *work)
report.data.leds_bitmap |= sc->led_state[2] << 3;
report.data.leds_bitmap |= sc->led_state[3] << 4;
+ /* Set flag for all leds off, required for 3rd party INTEC controller */
+ if ((report.data.leds_bitmap & 0x1E) == 0)
+ report.data.leds_bitmap |= 0x20;
+
/*
* The LEDs in the report are indexed in reverse order to their
* corresponding light on the controller.