Hi Stephen, On Thu, 13 May 2021 at 03:11, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > Hi all, > > On Wed, 12 May 2021 09:54:18 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > On Wed, 12 May 2021 09:52:01 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > > > After merging the net-next tree, today's linux-next build (x86_64 > > > allmodconfig) failed like this: > > > > > > drivers/usb/class/cdc-wdm.c: In function 'wdm_wwan_port_stop': > > > drivers/usb/class/cdc-wdm.c:858:2: error: implicit declaration of function 'kill_urbs' [-Werror=implicit-function-declaration] > > > 858 | kill_urbs(desc); > > > | ^~~~~~~~~ > > > > > > Caused by commit > > > > > > cac6fb015f71 ("usb: class: cdc-wdm: WWAN framework integration") > > > > > > kill_urbs() was removed by commit > > > > > > 18abf8743674 ("cdc-wdm: untangle a circular dependency between callback and softint") > > > > > > Which is included in v5.13-rc1. > > > > Sorry, that commit is only in linux-next (from the usb.current tree). > > I will do a merge fix up tomorrow - unless someone provides one. > > > > > I have used the net-next tree from next-20210511 for today. > > I have used the following merge fix patch for today. I don't know if > this is sufficient (or even correct), but it does build. Thanks for working on this. > > From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > Date: Thu, 13 May 2021 11:04:09 +1000 > Subject: [PATCH] usb: class: cdc-wdm: fix for kill_urbs() removal > > Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> > --- > drivers/usb/class/cdc-wdm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c > index c88dcc4b6618..489b0e049402 100644 > --- a/drivers/usb/class/cdc-wdm.c > +++ b/drivers/usb/class/cdc-wdm.c > @@ -855,7 +855,7 @@ static void wdm_wwan_port_stop(struct wwan_port *port) > struct wdm_device *desc = wwan_port_get_drvdata(port); > > /* Stop all transfers and disable WWAN mode */ > - kill_urbs(desc); > + poison_urbs(desc); > desc->manage_power(desc->intf, 0); > clear_bit(WDM_READ, &desc->flags); > clear_bit(WDM_WWAN_IN_USE, &desc->flags); AFAIU, each poison call must be balanced with unpoison call. So you probably want to call unpoison_urbs right here, similarly to wdm_release or wdm_suspend. Regards, Loic > -- > 2.30.2 > > -- > Cheers, > Stephen Rothwell