Re: [PATCH v2] net: macb: restart tx after tx used bit read
From: David Miller
Date: Sat Dec 15 2018 - 16:21:26 EST
From: <Claudiu.Beznea@xxxxxxxxxxxxx>
Date: Fri, 14 Dec 2018 10:40:47 +0000
> From: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>
>
> On some platforms (currently detected only on SAMA5D4) TX might stuck
> even the pachets are still present in DMA memories and TX start was
> issued for them. This happens due to race condition between MACB driver
> updating next TX buffer descriptor to be used and IP reading the same
> descriptor. In such a case, the "TX USED BIT READ" interrupt is asserted.
> GEM/MACB user guide specifies that if a "TX USED BIT READ" interrupt
> is asserted TX must be restarted. Restart TX if used bit is read and
> packets are present in software TX queue. Packets are removed from software
> TX queue if TX was successful for them (see macb_tx_interrupt()).
>
> Signed-off-by: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx>
> ---
>
> changes in v2:
> - use "static inline" instead of "inline static" for macb_tx_restart()
Yes that is the correct order for a static inline function declaration,
but in foo.c files we do not use the inline keyword and instead let the
compiler decide the best thing to do.
Please remove this inline keyword and resubmit.
Thank you.