<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/input/joystick/xpad.c, branch linux-4.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-06-29T17:07:47Z</updated>
<entry>
<title>Input: xpad - validate USB endpoint count during probe</title>
<updated>2016-06-29T17:07:47Z</updated>
<author>
<name>Cameron Gutman</name>
</author>
<published>2016-06-29T16:51:35Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=caca925fca4fb30c67be88cacbe908eec6721e43'/>
<id>urn:sha1:caca925fca4fb30c67be88cacbe908eec6721e43</id>
<content type='text'>
This prevents a malicious USB device from causing an oops.

Signed-off-by: Cameron Gutman &lt;aicommander@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - fix oops when attaching an unknown Xbox One gamepad</title>
<updated>2016-06-23T17:28:28Z</updated>
<author>
<name>Cameron Gutman</name>
</author>
<published>2016-06-23T17:24:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c7f1429389ec1aa25e042bb13451385fbb596f8c'/>
<id>urn:sha1:c7f1429389ec1aa25e042bb13451385fbb596f8c</id>
<content type='text'>
Xbox One controllers have multiple interfaces which all have the
same class, subclass, and protocol. One of the these interfaces
has only a single endpoint. When Xpad attempts to bind to this
interface, it causes an oops when trying initialize the output URB
by trying to access the second endpoint's descriptor.

This situation was avoided for known Xbox One devices by checking
the XTYPE constant associated with the VID and PID tuple. However,
this breaks when new or previously unknown Xbox One controllers
are attached to the system.

This change addresses the problem by deriving the XTYPE for Xbox
One controllers based on the interface protocol before checking
the interface number.

Fixes: 1a48ff81b391 ("Input: xpad - add support for Xbox One controllers")
Signed-off-by: Cameron Gutman &lt;aicommander@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - fix rumble on Xbox One controllers with 2015 firmware</title>
<updated>2016-06-01T21:21:27Z</updated>
<author>
<name>Cameron Gutman</name>
</author>
<published>2016-06-01T18:32:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=540c26087bfbad6ea72758b76b16ae6282a73fea'/>
<id>urn:sha1:540c26087bfbad6ea72758b76b16ae6282a73fea</id>
<content type='text'>
Xbox One controllers that shipped with or were upgraded to the 2015
firmware discard the current rumble packets we send. This patch changes
the Xbox One rumble packet to a form that both the newer and older
firmware will accept.

It is based on changes made to support newer Xbox One controllers in
the SteamOS brewmaster-4.1 kernel branch.

Signed-off-by: Cameron Gutman &lt;aicommander@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - xbox one elite controller support</title>
<updated>2016-05-27T23:32:49Z</updated>
<author>
<name>Pavel Rojtberg</name>
</author>
<published>2016-05-27T23:24:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6f49a398b266d4895bd7e041db77a2b2ee1482a6'/>
<id>urn:sha1:6f49a398b266d4895bd7e041db77a2b2ee1482a6</id>
<content type='text'>
added the according id and incresed XPAD_PKT_LEN to 64 as the elite
controller sends at least 33 byte messages [1].
Verified to be working by [2].

[1]: https://franticrain.github.io/sniffs/XboxOneSniff.html
[2]: https://github.com/paroj/xpad/issues/23

Signed-off-by: Pierre-Loup A. Griffais &lt;eduke32@plagman.net&gt;
Signed-off-by: Pavel Rojtberg &lt;rojtberg@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - add more third-party controllers</title>
<updated>2016-05-27T23:32:48Z</updated>
<author>
<name>Pavel Rojtberg</name>
</author>
<published>2016-05-27T23:24:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6538c3b2d2d220a974e47928b165ea09b9cfa6b4'/>
<id>urn:sha1:6538c3b2d2d220a974e47928b165ea09b9cfa6b4</id>
<content type='text'>
Signed-off-by: Pierre-Loup A. Griffais &lt;eduke32@plagman.net&gt;
Signed-off-by: Thomas Debesse &lt;dev@illwieckz.net&gt;
Signed-off-by: aronschatz &lt;aronschatz@aselabs.com&gt;
Signed-off-by: Pavel Rojtberg &lt;rojtberg@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - prevent spurious input from wired Xbox 360 controllers</title>
<updated>2016-05-27T23:32:47Z</updated>
<author>
<name>Cameron Gutman</name>
</author>
<published>2016-05-27T23:23:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ff5fa3c6732f08e01ae12f12286d4728c9e4d86'/>
<id>urn:sha1:1ff5fa3c6732f08e01ae12f12286d4728c9e4d86</id>
<content type='text'>
After initially connecting a wired Xbox 360 controller or sending it
a command to change LEDs, a status/response packet is interpreted as
controller input. This causes the state of buttons represented in
byte 2 of the controller data packet to be incorrect until the next
valid input packet. Wireless Xbox 360 controllers are not affected.

Writing a new value to the LED device while holding the Start button
and running jstest is sufficient to reproduce this bug. An event will
come through with the Start button released.

Xboxdrv also won't attempt to read controller input from a packet
where byte 0 is non-zero. It also checks that byte 1 is 0x14, but
that value differs between wired and wireless controllers and this
code is shared by both. I think just checking byte 0 is enough to
eliminate unwanted packets.

The following are some examples of 3-byte status packets I saw:
01 03 02
02 03 00
03 03 03
08 03 00

Signed-off-by: Cameron Gutman &lt;aicommander@gmail.com&gt;
Signed-off-by: Pavel Rojtberg &lt;rojtberg@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - move pending clear to the correct location</title>
<updated>2016-05-27T23:32:46Z</updated>
<author>
<name>Pavel Rojtberg</name>
</author>
<published>2016-05-27T23:22:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4efc6939a83c54fb3417541be48991afd0290ba3'/>
<id>urn:sha1:4efc6939a83c54fb3417541be48991afd0290ba3</id>
<content type='text'>
otherwise we lose ff commands: https://github.com/paroj/xpad/issues/27

Signed-off-by: Pavel Rojtberg &lt;rojtberg@gmail.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - add Mad Catz FightStick TE 2 VID/PID</title>
<updated>2016-04-05T16:49:17Z</updated>
<author>
<name>Silvan Jegen</name>
</author>
<published>2016-03-18T00:15:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d63b0f0c0f19dc8687387ead5a28148dcad1a4b9'/>
<id>urn:sha1:d63b0f0c0f19dc8687387ead5a28148dcad1a4b9</id>
<content type='text'>
This adds the VID/PID combination for the Xbox One version of the Mad
Catz FightStick TE 2.

The functionality that this provides is about on par with what the
Windows drivers for the stick manage to deliver.

What works:
- Digital stick
- 6 main buttons
- Xbox button
- The two buttons on the back
- The locking buttons (preventing accidental Xbox button press)

What doesn't work:
- Two of the main buttons (don't work on Windows either)
- The "Haptic" button setting does not have an effect (not sure if it
  works on Windows)

I added the MAP_TRIGGERS_TO_BUTTONS option but in my (limited) testing
there was no practical difference with or without. The FightStick does
not have triggers though so adding it makes sense.

Signed-off-by: Silvan Jegen &lt;s.jegen@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - remove unused function</title>
<updated>2016-01-27T23:55:06Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2016-01-27T23:42:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a6ed4a18ba6a6f5a01e024b9d221d6439bf6ca4c'/>
<id>urn:sha1:a6ed4a18ba6a6f5a01e024b9d221d6439bf6ca4c</id>
<content type='text'>
There are two definitions of xpad_identify_controller(), one is used
when CONFIG_JOYSTICK_XPAD_LEDS is set, but the other one is empty
and never used, and we get a gcc warning about it:

drivers/input/joystick/xpad.c:1210:13: warning: 'xpad_identify_controller' defined but not used [-Wunused-function]

This removes the second definition.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Fixes: cae705baa40b ("Input: xpad - re-send LED command on present event")
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
<entry>
<title>Input: xpad - correct xbox one pad device name</title>
<updated>2016-01-13T00:28:44Z</updated>
<author>
<name>Pavel Rojtberg</name>
</author>
<published>2016-01-12T22:35:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=95162dc8493ed92e5f7dcc8874e58c2ba3836b43'/>
<id>urn:sha1:95162dc8493ed92e5f7dcc8874e58c2ba3836b43</id>
<content type='text'>
Apparently the Covert Forces ID is not Covert Forces pad exclusive, but
rather denotes a new firmware version that can be found on all new
controllers and can be also updated on old hardware using Windows 10.

see: https://github.com/paroj/xpad/issues/19

Signed-off-by: Pavel Rojtberg &lt;rojtberg@gmail.com&gt;
Signed-off-by: Dmitry Torokhov &lt;dmitry.torokhov@gmail.com&gt;</content>
</entry>
</feed>
