[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240213162258.ajicpzeevveajrz6@DEN-DL-M70577>
Date: Tue, 13 Feb 2024 16:22:58 +0000
From: Daniel Machon <daniel.machon@...rochip.com>
To: Horatiu Vultur <horatiu.vultur@...rochip.com>
CC: <davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <lars.povlsen@...rochip.com>,
<Steen.Hegelund@...rochip.com>, <UNGLinuxDriver@...rochip.com>,
<u.kleine-koenig@...gutronix.de>, <rmk+kernel@...linux.org.uk>,
<vladimir.oltean@....com>, <jacob.e.keller@...el.com>,
<yuehaibing@...wei.com>, <netdev@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next] net: sparx5: Add spinlock for frame
transmission from CPU
> Both registers used when doing manual injection or fdma injection are
> shared between all the net devices of the switch. It was noticed that
> when having two process which each of them trying to inject frames on
> different ethernet ports, that the HW started to behave strange, by
> sending out more frames then expected. When doing fdma injection it is
> required to set the frame in the DCB and then make sure that the next
> pointer of the last DCB is invalid. But because there is no locks for
> this, then easily this pointer between the DCB can be broken and then it
> would create a loop of DCBs. And that means that the HW will
> continuously transmit these frames in a loop. Until the SW will break
> this loop.
> Therefore to fix this issue, add a spin lock for when accessing the
> registers for manual or fdma injection.
Reviewed-by: Daniel Machon <daniel.machon@...rochip.com>
Powered by blists - more mailing lists