[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <763a584b-ead6-46fe-a50c-147ce5846768@gmail.com>
Date: Fri, 22 Sep 2023 10:47:41 -0700
From: Florian Fainelli <f.fainelli@...il.com>
To: Asmaa Mnebhi <asmaa@...dia.com>, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com, olteanv@...il.com
Cc: netdev@...r.kernel.org, davthompson@...dia.com
Subject: Re: [PATCH v3 2/3] mlxbf_gige: Fix intermittent no ip issue
On 9/22/2023 10:36 AM, Asmaa Mnebhi wrote:
> Although the link is up, there is no ip assigned on a setup with high background
> traffic. Nothing is transmitted nor received.
> The RX error count keeps on increasing. After several minutes, the RX error count
> stagnates and the GigE interface finally gets an ip.
>
> The issue is in the mlxbf_gige_rx_init function. As soon as the RX DMA is enabled,
> the RX CI reaches the max of 128, and it becomes equal to RX PI. RX CI doesn't decrease
> since the code hasn't ran phy_start yet.
>
> The solution is to move the rx init after phy_start.
>
> Fixes: f92e1869d74e ("Add Mellanox BlueField Gigabit Ethernet driver")
> Signed-off-by: Asmaa Mnebhi <asmaa@...dia.com>
> Reviewed-by: David Thompson <davthompson@...dia.com>
This seems fine, but your description of the problem still looks like
there may be a more fundamental ordering issue when you enable your RX
pipe here.
It seems to me like you should enable it from "inner" as in closest to
the CPU/DMA subsystem towards "outer" which is the MAC and finally the PHY.
It should be fine to enable your RX DMA as long as you keep the MAC's RX
disabled, and then you can enable your MAC's RX enable and later start
the PHY.
--
Florian
Powered by blists - more mailing lists