On Wed, Jan 9, 2019 at 2:18 AM Hongye Yuan <outmatch@xxxxxxxxx> wrote: > > Rumble support on SHANWAN PS3 gamepad is not working when a user > program has asked it to. If a HID Output Reports is sent via Control > Channel then it will be discard by gamepad, thus rumble motor and led > settings in Output Report are ignored. > > This patch therefore sends HID Output Report via Interrupt Channel to > SHANWAN gamepad instead of Control Channel, fixing rumble motor and > led settings. > > Signed-off-by: Hongye Yuan <outmatch@xxxxxxxxx> > > --- > Changes in v4: > - Explain what this patch fixes in detail. Both patches applied to for-5.1/hid-sony Thanks for quickly respinning the series. Cheers, Benjamin > --- > drivers/hid/hid-sony.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c > index fc82f02bae75..26fae90b931a 100644 > --- a/drivers/hid/hid-sony.c > +++ b/drivers/hid/hid-sony.c > @@ -2100,9 +2100,14 @@ static void sixaxis_send_output_report(struct sony_sc *sc) > } > } > > - hid_hw_raw_request(sc->hdev, report->report_id, (u8 *)report, > - sizeof(struct sixaxis_output_report), > - HID_OUTPUT_REPORT, HID_REQ_SET_REPORT); > + /* SHANWAN controllers require output reports via intr channel */ > + if (sc->quirks & SHANWAN_GAMEPAD) > + hid_hw_output_report(sc->hdev, (u8 *)report, > + sizeof(struct sixaxis_output_report)); > + else > + hid_hw_raw_request(sc->hdev, report->report_id, (u8 *)report, > + sizeof(struct sixaxis_output_report), > + HID_OUTPUT_REPORT, HID_REQ_SET_REPORT); > } > > static void dualshock4_send_output_report(struct sony_sc *sc) > -- > 2.20.1 >