[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <bfac8ad8-a90e-f075-5ec9-a91f678423be@gmail.com>
Date: Mon, 20 Sep 2021 08:58:15 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Rafał Miłecki <zajec5@...il.com>,
Network Development <netdev@...r.kernel.org>
Subject: Re: bgmac regression: hang while probing on BCM47189
On 9/20/21 5:44 AM, Rafał Miłecki wrote:
> Hi,
>
> commit 34322615cbaa ("net: bgmac: Mask interrupts during probe")
> caused a regression on my Tenda AC9 router (BCM47189 SoC that belongs
> to the BCM53573 family).
>
> Calling bgmac_chip_intrs_off() that early in a probe function - for
> the *second* eth interface - simply hangs my device.
>
> I didn't see any problems caused by not having that call in the first place.
> A solution seems to be also to call bgmac_clk_enable() *first*.
>
> Should that call to the bgmac_chip_intrs_off() be conditional? Or
> should we reorder bgmac_chip_intrs_off() and bgmac_clk_enable()?
>
Most definitively, clocks should always be turned on prior to any
register access. On most platforms people don't even notice because the
boot loader does not care to shut down the Ethernet controller's clock
at all.
Do you mind submitting a fix for that? Thanks!
--
Florian
Powered by blists - more mailing lists