• Alexander Sverdlin's avatar
    net: octeon: mgmt: Repair filling of RX ring · 0c34bb59
    Alexander Sverdlin authored
    The removal of mips_swiotlb_ops exposed a problem in octeon_mgmt Ethernet
    driver. mips_swiotlb_ops had an mb() after most of the operations and the
    removal of the ops had broken the receive functionality of the driver.
    My code inspection has shown no other places except
    octeon_mgmt_rx_fill_ring() where an explicit barrier would be obviously
    missing. The latter function however has to make sure that "ringing the
    bell" doesn't happen before RX ring entry is really written.
    
    The patch has been successfully tested on Octeon II.
    
    Fixes: a999933d ("MIPS: remove mips_swiotlb_ops")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarAlexander Sverdlin <alexander.sverdlin@nokia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    0c34bb59
octeon_mgmt.c 41.2 KB