Re: linux-next: build failure after merge of the net-next tree

From: Stephen Rothwell
Date: Thu May 13 2021 - 18:51:37 EST


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: pgpR3vctUk3Ei.pgp
Description: OpenPGP digital signature