Bug in split transactions on Raspberry Pi

Alan Stern stern at rowland.harvard.edu
Tue Jan 26 12:29:32 PST 2016

On Tue, 26 Jan 2016, Doug Anderson wrote:

> >> Doug, do you have a list of patches you'd like me to try on top of the
> >> rpi-4.4.y branch?
> >
> > Nice!  You can give this series a try.  It aims to improve SPLIT
> > scheduling quite a bit:
> >
> > 8091691 New          [v5,01/21] usb: dwc2: rockchip: Make the
> > max_transfer_size automatic
> > 8091701 New          [v5,02/21] usb: dwc2: host: Get aligned DMA in a
> > more supported way

This one failed to apply; there was a merge conflict in hcd_queue.c.  
The original code says:

void dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
	if (hsotg->core_params->dma_desc_enable > 0) {
		dwc2_hcd_qh_free_ddma(hsotg, qh);
	} else {

whereas the patch says:

 void dwc2_hcd_qh_free(struct dwc2_hsotg *hsotg, struct dwc2_qh *qh)
-	if (qh->desc_list) {
+	if (qh->desc_list)
 		dwc2_hcd_qh_free_ddma(hsotg, qh);
-	} else {

This probably indicates that the list of patches was incomplete (i.e.,
some other patches were applied before these).  Also, the patches
aren't listed in order of the patchwork IDs -- which order is correct?

Alan Stern

More information about the linux-rpi-kernel mailing list