lkml.org 
[lkml]   [2016]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 5/5] usb: dwc2: gadget: free TX FIFO after killing requests
    Date
    As kill_all_requests() potentially flushes TX FIFO, we should should
    free FIFO after calling it. Otherwise FIFO could stay unflushed properly.

    Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
    ---
    drivers/usb/dwc2/gadget.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    diff --git a/drivers/usb/dwc2/gadget.c b/drivers/usb/dwc2/gadget.c
    index 8f9d45b..fa5919a 100644
    --- a/drivers/usb/dwc2/gadget.c
    +++ b/drivers/usb/dwc2/gadget.c
    @@ -2779,10 +2779,6 @@ static int dwc2_hsotg_ep_disable(struct usb_ep *ep)

    spin_lock_irqsave(&hsotg->lock, flags);

    - hsotg->fifo_map &= ~(1<<hs_ep->fifo_index);
    - hs_ep->fifo_index = 0;
    - hs_ep->fifo_size = 0;
    -
    ctrl = dwc2_readl(hsotg->regs + epctrl_reg);
    ctrl &= ~DXEPCTL_EPENA;
    ctrl &= ~DXEPCTL_USBACTEP;
    @@ -2797,6 +2793,10 @@ static int dwc2_hsotg_ep_disable(struct usb_ep *ep)
    /* terminate all requests with shutdown */
    kill_all_requests(hsotg, hs_ep, -ESHUTDOWN);

    + hsotg->fifo_map &= ~(1 << hs_ep->fifo_index);
    + hs_ep->fifo_index = 0;
    + hs_ep->fifo_size = 0;
    +
    spin_unlock_irqrestore(&hsotg->lock, flags);
    return 0;
    }
    --
    1.9.1
    \
     
     \ /
      Last update: 2016-02-03 13:01    [W:7.562 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site