Hi Loic, On Thu, 13 May 2021 08:35:50 +0200 Loic Poulain <loic.poulain@xxxxxxxxxx> wrote: > > On Thu, 13 May 2021 at 03:11, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > > > 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. I have added that call today. Thanks for the feedback. -- Cheers, Stephen Rothwell
Attachment:
pgpVTbkPmzIdk.pgp
Description: OpenPGP digital signature