Description
Hi sir,
I found there may a bug in the ProcessResp_SN @L2663,
because SetWriteToSNDone is called in two place:
1. req->SetWriteToSNDone(true); @L2653
2. req->SetWriteToSNDone(true); @L2694 which will never be called, because the code only run to L2694 when the return value of GetWriteToSNDone() is already true !
so the condition @ L2663 can only be true because the code ran to L2653 ever
but the code can only run to L2653 when the Comp from SN has already received which is when both condition below are true
- (rsp.IsCompDBIDResp() || rsp.IsDBIDResp()) @L2609
- (rsp.IsCompDBIDResp() || req->GetCompSNReceived()) @ L2622
so when the Comp from RN aready is reveived by INC, it will never be reveived again , so the branch if (req->GetWriteToSNDone()) @L2663 seems useless !
libsystemctlm-soc/tlm-modules/iconnect-chi.h
Line 2663 in 42aa8ed