On Fri, 2021-01-29 at 11:27 +0100, Greg Kroah-Hartman wrote: > On Fri, Jan 29, 2021 at 05:38:19PM +0800, Chunfeng Yun wrote: > > From: Ikjoon Jang <ikjn@xxxxxxxxxxxx> > > > > xhci-mtk needs XHCI_MTK_HOST quirk functions in add_endpoint() and > > drop_endpoint() to handle its own sw bandwidth management. > > > > It stores bandwidth data into an internal table every time > > add_endpoint() is called, and drops those in drop_endpoint(). > > But when bandwidth allocation fails at one endpoint, all earlier > > allocation from the same interface could still remain at the table. > > > > This patch moves bandwidth management codes to check_bandwidth() and > > reset_bandwidth() path. To do so, this patch also adds those functions > > to xhci_driver_overrides and lets mtk-xhci to release all failed > > endpoints in reset_bandwidth() path. > > > > Fixes: 08e469de87a2 ("usb: xhci-mtk: supports bandwidth scheduling with multi-TT") > > Signed-off-by: Ikjoon Jang <ikjn@xxxxxxxxxxxx> > > Signed-off-by: Chunfeng Yun <chunfeng.yun@xxxxxxxxxxxx> > > --- > > Changes in v7 from Chunfeng: > > - rename xhci_mtk_droop_ep() as destroy_sch_ep(), and include parameters > > - add member @allocated in mu3h_sch_ep_info struct > > used to skip endpoint not allocated bandwidth > > - use xhci_dbg() instead of dev_dbg() > > - rename bw_ep_list_new as bw_ep_chk_list > > As a previous version of this patch is already in my public tree, just > send a follow-on patch that resolves the issues in the previous one, as > I can not apply this one. Bonus is that you get the credit for fixing > these issues :) Ok, thanks > > thanks, > > greg k-h