[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75VfkOWk+CwSAOi-ibMcDOz5f0tOjxrygmUoMP1CEHxph-Q@mail.gmail.com>
Date: Tue, 17 Aug 2021 16:06:14 +0300
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Ahmad Fatoum <a.fatoum@...gutronix.de>
Cc: "brcm80211-dev-list.pdl@...adcom.com"
<brcm80211-dev-list.pdl@...adcom.com>,
Arend van Spriel <aspriel@...il.com>,
Chung-hsien Hsu <chung-hsien.hsu@...ineon.com>,
Chi-hsien Lin <chi-hsien.lin@...ineon.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-wireless@...r.kernel.org" <linux-wireless@...r.kernel.org>,
Hante Meuleman <hante.meuleman@...adcom.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Wright Feng <wright.feng@...ineon.com>,
"SHA-cyfmac-dev-list@...ineon.com" <SHA-cyfmac-dev-list@...ineon.com>,
"kernel@...gutronix.de" <kernel@...gutronix.de>,
Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Kalle Valo <kvalo@...eaurora.org>,
Franky Lin <franky.lin@...adcom.com>
Subject: Re: [PATCH] brcmfmac: pcie: fix oops on failure to resume and reprobe
On Tue, Aug 17, 2021 at 3:07 PM Ahmad Fatoum <a.fatoum@...gutronix.de> wrote:
> On 17.08.21 14:03, Ahmad Fatoum wrote:
> > On 17.08.21 13:54, Andy Shevchenko wrote:
> >> On Tue, Aug 17, 2021 at 2:11 PM Ahmad Fatoum <a.fatoum@...gutronix.de> wrote:
> >>> On 17.08.21 13:02, Andy Shevchenko wrote:
> >>>> On Tuesday, August 17, 2021, Ahmad Fatoum <a.fatoum@...gutronix.de> wrote:
...
> >>>>> err = brcmf_pcie_probe(pdev, NULL);
> >>>>> if (err)
> >>>>> - brcmf_err(bus, "probe after resume failed, err=%d\n", err);
> >>>>> + __brcmf_err(NULL, __func__, "probe after resume failed,
> >>>>> err=%d\n",
> >>>>
> >>>>
> >>>> This is weird looking line now. Why can’t you simply use dev_err() /
> >>>> netdev_err()?
> >>>
> >>> That's what brcmf_err normally expands to, but in this file the macro
> >>> is overridden to add the extra first argument.
> >>
> >> So, then the problem is in macro here. You need another portion of
> >> macro(s) that will use the dev pointer directly. When you have a valid
> >> device, use it. And here it seems the case.
> >
> > Ah, you mean using pdev instead of the stale bus. Ye, I could do that.
> > Thanks for pointing out.
>
> Ah, not so easy: __brcmf_err accepts a struct brcmf_bus * as first argument,
> but there is none I can pass along. As the whole file uses the brcm_
> logging functions, I'd just leave this one without a device.
And what exactly prevents you to split that to something like
__brcm_dev_err() // as current __brcm_err with dev argument
{
...
}
__brsm_err(bus, ...) __brcm_dev_err(bus->dev, ...)
?
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists