[PATCH net-next] net: sparx5: Add spinlock for frame transmission from CPU

Florian Fainelli f.fainelli at gmail.com
Tue Feb 13 09:26:45 PST 2024


On 2/13/24 04:17, Horatiu Vultur wrote:
> 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.
> 
> Signed-off-by: Horatiu Vultur <horatiu.vultur at microchip.com>

Any reason you targeted 'net-next' rather than 'net', as this appears to 
be clearly a bug fix here?
-- 
Florian




More information about the linux-arm-kernel mailing list