mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
synced 2026-05-02 18:17:50 -04:00
Input: xpad - fix PowerA EnWired Controller guide button
This commit explicitly disables the audio interface the same way the official driver does. This is needed for some controllers, such as the PowerA Enhanced Wired Controller for Series X|S (0x20d6:0x200e) to report the guide button. Signed-off-by: Vicki Pfau <vi@endrift.com> Link: https://lore.kernel.org/r/20230411031650.960322-3-vi@endrift.com Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
committed by
Dmitry Torokhov
parent
f9b2e603c6
commit
cf59501873
@@ -1396,6 +1396,21 @@ static int xpad_start_xbox_one(struct usb_xpad *xpad)
|
||||
unsigned long flags;
|
||||
int retval;
|
||||
|
||||
if (usb_ifnum_to_if(xpad->udev, GIP_WIRED_INTF_AUDIO)) {
|
||||
/*
|
||||
* Explicitly disable the audio interface. This is needed
|
||||
* for some controllers, such as the PowerA Enhanced Wired
|
||||
* Controller for Series X|S (0x20d6:0x200e) to report the
|
||||
* guide button.
|
||||
*/
|
||||
retval = usb_set_interface(xpad->udev,
|
||||
GIP_WIRED_INTF_AUDIO, 0);
|
||||
if (retval)
|
||||
dev_warn(&xpad->dev->dev,
|
||||
"unable to disable audio interface: %d\n",
|
||||
retval);
|
||||
}
|
||||
|
||||
spin_lock_irqsave(&xpad->odata_lock, flags);
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user