Message ID | 20210525050424.14724-1-jackp@codeaurora.org |
---|---|
State | New |
Headers | show |
Series | [5.4] usb: dwc3: gadget: Enable suspend events | expand |
On Mon, May 24, 2021 at 10:04:24PM -0700, Jack Pham wrote: > commit d1d90dd27254c44d087ad3f8b5b3e4fff0571f45 upstream. > > commit 72704f876f50 ("dwc3: gadget: Implement the suspend entry event > handler") introduced (nearly 5 years ago!) an interrupt handler for > U3/L1-L2 suspend events. The problem is that these events aren't > currently enabled in the DEVTEN register so the handler is never > even invoked. Fix this simply by enabling the corresponding bit > in dwc3_gadget_enable_irq() using the same revision check as found > in the handler. > > Fixes: 72704f876f50 ("dwc3: gadget: Implement the suspend entry event handler") > Acked-by: Felipe Balbi <balbi@kernel.org> > Signed-off-by: Jack Pham <jackp@codeaurora.org> > Cc: stable <stable@vger.kernel.org> > Link: https://lore.kernel.org/r/20210428090111.3370-1-jackp@codeaurora.org > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > [jackp@codeaurora.org: backport to pre-5.7 by replacing > DWC3_IS_VER_PRIOR check with direct comparison of dwc->revision] > Signed-off-by: Jack Pham <jackp@codeaurora.org> > --- > drivers/usb/dwc3/gadget.c | 4 ++++ > 1 file changed, 4 insertions(+) All now queued up, thanks. greg k-h
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 40fe856184ef..6145311a3855 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -2022,6 +2022,10 @@ static void dwc3_gadget_enable_irq(struct dwc3 *dwc) if (dwc->revision < DWC3_REVISION_250A) reg |= DWC3_DEVTEN_ULSTCNGEN; + /* On 2.30a and above this bit enables U3/L2-L1 Suspend Events */ + if (dwc->revision >= DWC3_REVISION_230A) + reg |= DWC3_DEVTEN_EOPFEN; + dwc3_writel(dwc->regs, DWC3_DEVTEN, reg); }