summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/msk/if_msk.c7
-rw-r--r--sys/dev/msk/if_mskreg.h1
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
index 2613b81..bb4ba13 100644
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -3658,9 +3658,12 @@ msk_init_locked(struct msk_if_softc *sc_if)
CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_MSK),
GMR_FS_ANY_ERR);
- /* Set Rx FIFO flush threshold to 64 bytes. */
+ /*
+ * Set Rx FIFO flush threshold to 64 bytes + 1 FIFO word
+ * due to hardware hang on receipt of pause frames.
+ */
CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, RX_GMF_FL_THR),
- RX_GMF_FL_THR_DEF);
+ RX_GMF_FL_THR_DEF + 1);
/* Configure Tx MAC FIFO. */
CSR_WRITE_4(sc, MR_ADDR(sc_if->msk_port, TX_GMF_CTRL_T), GMF_RST_SET);
diff --git a/sys/dev/msk/if_mskreg.h b/sys/dev/msk/if_mskreg.h
index 1f8ff7d..ba0d730 100644
--- a/sys/dev/msk/if_mskreg.h
+++ b/sys/dev/msk/if_mskreg.h
@@ -1818,6 +1818,7 @@
GMR_FS_LONG_ERR | \
GMR_FS_MII_ERR | \
GMR_FS_BAD_FC | \
+ GMR_FS_GOOD_FC | \
GMR_FS_UN_SIZE | \
GMR_FS_JABBER)
OpenPOWER on IntegriCloud