Hi Pawel, Does the upstream version Cadence driver pass CV MSC test at your side? I met an issue for “Error Recovery Test”, It needs to clear halt for ep1-out, but ep1-out’s request is pending. After ep is reset, and set doorbell again, the transfer begins at once, and receive TRBERR interrupt, but the host still not sends CBW, so when the host sends CBW, the device side can’t receive any interrupts due to there is no TRB is pending. Call __cdns3_gadget_ep_clear_halt for OUT will trigger TRBERR interrupt, and advance the TRADDR value if there is a pending TRB, does it be expected? To fix this issue, it needs to change several places, and I make it partial work to use the next TRB for the same pending request. I don't know if it is correct way, since you may more familiar with your IP, you could give me some suggestions if possible, thanks in advance. -- Thanks, Peter Chen