]> git.droids-corp.org - dpdk.git/blobdiff - drivers/net/enetc/enetc_ethdev.c
net/enetc: fix Rx lock-up
[dpdk.git] / drivers / net / enetc / enetc_ethdev.c
index 20b77c006c73c4d77235f12c3e59eaa4c687921e..eb637d0306912c587906399c02e7140df8d2677d 100644 (file)
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright 2018-2019 NXP
+ * Copyright 2018-2020 NXP
  */
 
 #include <stdbool.h>
  */
 
 #include <stdbool.h>
@@ -147,6 +147,9 @@ enetc_hardware_init(struct enetc_eth_hw *hw)
        hw->hw.port = (void *)((size_t)hw->hw.reg + ENETC_PORT_BASE);
        hw->hw.global = (void *)((size_t)hw->hw.reg + ENETC_GLOBAL_BASE);
 
        hw->hw.port = (void *)((size_t)hw->hw.reg + ENETC_PORT_BASE);
        hw->hw.global = (void *)((size_t)hw->hw.reg + ENETC_GLOBAL_BASE);
 
+       /* WA for Rx lock-up HW erratum */
+       enetc_port_wr(enetc_hw, ENETC_PM0_RX_FIFO, 1);
+
        /* Enabling Station Interface */
        enetc_wr(enetc_hw, ENETC_SIMR, ENETC_SIMR_EN);
 
        /* Enabling Station Interface */
        enetc_wr(enetc_hw, ENETC_SIMR, ENETC_SIMR_EN);