Re: [PATCH] brcmfmac: pcie: fix oops on failure to resume and reprobe
From: Ahmad Fatoum
Date: Tue Aug 17 2021 - 08:07:37 EST
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@xxxxxxxxxxxxxx> wrote:
>>> On 17.08.21 13:02, Andy Shevchenko wrote:
>>>> On Tuesday, August 17, 2021, Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> 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,
>>>> This is weird looking line now. Why can’t you simply use dev_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.
>>> The brcmf_ logging function write to brcmf trace buffers. This is not
>>> done with netdev_err/dev_err (and replacing the existing logging
>>> is out of scope for a regression fix anyway).
>> I see.
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |