On Thu, Mar 23, 2017 at 03:09:05PM +0800, pierre Kuo wrote: > for sitd_link and itd_link, put wmb after the last memory access to make > sure ehci->period[frame] is visible before starting period schedule Is this fixing a known issue/bug that people are hitting? Or are you just finding this by looking at the code? > > Signed-off-by: pierre Kuo <vichy.kuo@xxxxxxxxx> > --- > drivers/usb/host/ehci-sched.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c > index 980a6b3..9bb708a 100644 > --- a/drivers/usb/host/ehci-sched.c > +++ b/drivers/usb/host/ehci-sched.c > @@ -1754,8 +1754,9 @@ static void reserve_release_iso_bandwidth(struct ehci_hcd *ehci, > itd->hw_next = *hw_p; > prev->itd = itd; > itd->frame = frame; > - wmb(); > *hw_p = cpu_to_hc32(ehci, itd->itd_dma | Q_TYPE_ITD); > + /* make sure ehci->period[frame] is visible */ why an extra space in the comment? And is the comment correct here? > + wmb(); > } > > /* fit urb's itds into the selected schedule slot; activate as needed */ > @@ -2157,8 +2158,9 @@ static int itd_submit(struct ehci_hcd *ehci, struct urb *urb, > sitd->hw_next = ehci->periodic[frame]; > ehci->pshadow[frame].sitd = sitd; > sitd->frame = frame; > - wmb(); > ehci->periodic[frame] = cpu_to_hc32(ehci, sitd->sitd_dma | Q_TYPE_SITD); > + /* make sure ehci->period[frame] is visible */ Same extra space question. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html