Hi Team
From PFE MCAL driver 1.6.0, the receiver processing may have reentrancy issue. The call relationship of function pfe_hif_drv_process_rx_frames() is shown as the following figure.
The _Receive, TxConfirmation and MainFunction will call pfe_hif_drv_process_rx_frames when driver works in polling mode. If the callers are in different tasks, pfe_hif_drv_process_rx_frames has a risk of reentrancy. Should we add exclusive protection for pfe_hif_drv_process_rx_frames ?
Regards,
Ryder
Hello @Ryder_Gong,
The PFE team has picked up the case, also who is the customer that reported this?
Best regards,
Radu
Hi,
The original issue is from Mobileye, actually software team has involved by a debug call.
Hello Ryder.
Thank you for finding the race condition. It was confirmed as cause of the "Rx stops working" issue and bug ticket ANET-1032 was created to fix it. It will be fixed by adding an exclusive area protection as you have proposed.
The bug affects all versions of the PFE MCAL driver, in polling mode, and it will be fixed in version 1.8.0.