• Michael Chan's avatar
    bnxt_en: Setup default RSS map in all scenarios. · b43b9f53
    Michael Chan authored
    The recent changes to support user-defined RSS map assume that RX
    rings are always reserved and the default RSS map is set after the
    RX rings are successfully reserved.  If the firmware spec is older
    than 1.6.1, no ring reservations are required and the default RSS
    map is not setup at all.  In another scenario where the fw Resource
    Manager is older, RX rings are not reserved and we also end up with
    no valid RSS map.
    
    Fix both issues in bnxt_need_reserve_rings().  In both scenarios
    described above, we don't need to reserve RX rings so we need to
    call this new function bnxt_check_rss_map_no_rmgr() to setup the
    default RSS map when needed.
    
    Without valid RSS map, the NIC won't receive packets properly.
    
    Fixes: 1667cbf6 ("bnxt_en: Add logical RSS indirection table structure.")
    Reviewed-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
    Reviewed-by: default avatarEdwin Peer <edwin.peer@broadcom.com>
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b43b9f53
bnxt.c 332 KB