• Michael Chan's avatar
    bnxt_en: Improve RX doorbell sequence. · e8f267b0
    Michael Chan authored
    When both RX buffers and RX aggregation buffers have to be
    replenished at the end of NAPI, post the RX aggregation buffers first
    before RX buffers.  Otherwise, we may run into a situation where
    there are only RX buffers without RX aggregation buffers for a split
    second.  This will cause the hardware to abort the RX packet and
    report buffer errors, which will cause unnecessary cleanup by the
    driver.
    
    Ringing the Aggregation ring doorbell first before the RX ring doorbell
    will prevent some of these buffer errors.  Use the same sequence during
    ring initialization as well.
    
    Fixes: 697197e5 ("bnxt_en: Re-structure doorbells.")
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e8f267b0
bnxt.c 289 KB