• Shahed Shaikh's avatar
    qlcnic: fix Tx descriptor corruption on 82xx devices · c333fa0c
    Shahed Shaikh authored
    In regular NIC transmission flow, driver always configures MAC using
    Tx queue zero descriptor as a part of MAC learning flow.
    But with multi Tx queue supported NIC, regular transmission can occur on
    any non-zero Tx queue and from that context it uses
    Tx queue zero descriptor to configure MAC, at the same time TX queue
    zero could be used by another CPU for regular transmission
    which could lead to Tx queue zero descriptor corruption and cause FW
    abort.
    
    This patch fixes this in such a way that driver always configures
    learned MAC address from the same Tx queue which is used for
    regular transmission.
    
    Fixes: 7e2cf4fe ("qlcnic: change driver hardware interface mechanism")
    Signed-off-by: default avatarShahed Shaikh <shahed.shaikh@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c333fa0c
qlcnic_io.c 59.8 KB