RE: xhci DWC3 flavor problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Felipe Balbi
> Sent: 19 May 2016 10:57
...
> queue it to the command ring
> 
> > 	if (ret) {
> > 		spin_unlock_irqrestore(&xhci->lock, flags);
> > 		mutex_unlock(&xhci->mutex);
> > 		xhci_dbg(xhci, "FIXME: allocate a command ring segment\n");
> > 		kfree(command);
> > 		return 0;
> > 	}
> > 	xhci_ring_cmd_db(xhci);
> > 	spin_unlock_irqrestore(&xhci->lock, flags);
> >
> > 	wait_for_completion(command->completion);
> 
> but the command never completes. I wonder if your command doorbell
> completed before wait_for_completion() was called, or if it didn't
> complete at all.
> 
> Can you enable XHCI debugging logs and try again? (Mathias, what was the
> easy trick to enable all XHCI debugging logs?)

I remember a problem with the XCHI controller on an amd (x86) motherboard I have.
What you are seeing might be the same.

Basically it only processed one entry from the command ring each time the
doorbell was rung.
I don't remember seeing a patch go past that would fix it, and I didn't
actually write one.

It might be worth trying re-ringing the command ring doorbell in the
command completion code.

	David

��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux