RE: [PATCH v5 net 1/3] net: enetc: reset PIR and CIR if they are not equal when initializing TX ring
From: Claudiu Manoil
Date: Mon Mar 16 2026 - 10:13:33 EST
> -----Original Message-----
> From: Wei Fang <wei.fang@xxxxxxx>
> Sent: Friday, March 13, 2026 11:47 AM
[...]
> Subject: [PATCH v5 net 1/3] net: enetc: reset PIR and CIR if they are not equal
> when initializing TX ring
>
> Currently the driver does not reset the producer index register (PIR) and
> consumer index register (CIR) when initializing a TX BD ring. The driver
> only reads the PIR and CIR and initializes the software indexes. If the
> TX BD ring is reinitialized when it still contains unsent frames, its PIR
> and CIR will not be equal after the reinitialization. However, the BDs
> between CIR and PIR have been freed and become invalid and this can lead
> to a hardware malfunction, causing the TX BD ring will not work properly.
>
> For ENETC v4, it supports software to set the PIR and CIR, so the driver
> can reset these two registers if they are not equal when reinitializing
> the TX BD ring. Therefore, add this solution for ENETC v4. Note that this
> patch does not work for ENETC v1 because it does not support software to
> set the PIR and CIR.
>
> Fixes: 99100d0d9922 ("net: enetc: add preliminary support for i.MX95 ENETC
> PF")
> Signed-off-by: Wei Fang <wei.fang@xxxxxxx>
Reviewed-by: Claudiu Manoil <claudiu.manoil@xxxxxxx>