• Raju Rangoju's avatar
    iw_cxgb4: complete the cached SRQ buffers · 11a27e21
    Raju Rangoju authored
    If TP fetches an SRQ buffer but ends up not using it before the connection
    is aborted, then it passes the index of that SRQ buffer to the host in
    ABORT_REQ_RSS or ABORT_RPL CPL message.
    
    But, if the srqidx field is zero in the received ABORT_RPL or
    ABORT_REQ_RSS CPL, then we need to read the tcb.rq_start field to see if
    it really did have an RQE cached. This works around a case where HW does
    not include the srqidx in the ABORT_RPL/ABORT_REQ_RSS CPL.
    
    The final value of rq_start is the one present in TCB with the
    TF_RX_PDU_OUT bit cleared. So, we need to read the TCB, examine the
    TF_RX_PDU_OUT (bit 49 of t_flags) in order to determine if there's a rx
    PDU feedback event pending.
    Signed-off-by: default avatarRaju Rangoju <rajur@chelsio.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    11a27e21
iw_cxgb4.h 28.2 KB