aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/cxgb3/xgmac.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/cxgb3/xgmac.c b/drivers/net/cxgb3/xgmac.c
index f87f9435049..0109ee4f2f9 100644
--- a/drivers/net/cxgb3/xgmac.c
+++ b/drivers/net/cxgb3/xgmac.c
@@ -447,11 +447,12 @@ int t3_mac_set_speed_duplex_fc(struct cmac *mac, int speed, int duplex, int fc)
447 447
448 val = t3_read_reg(adap, A_XGM_RXFIFO_CFG + oft); 448 val = t3_read_reg(adap, A_XGM_RXFIFO_CFG + oft);
449 val &= ~V_RXFIFOPAUSEHWM(M_RXFIFOPAUSEHWM); 449 val &= ~V_RXFIFOPAUSEHWM(M_RXFIFOPAUSEHWM);
450 if (fc & PAUSE_TX) 450 if (fc & PAUSE_TX) {
451 val |= V_RXFIFOPAUSEHWM(rx_fifo_hwm( 451 u32 rx_max_pkt_size =
452 t3_read_reg(adap, 452 G_RXMAXPKTSIZE(t3_read_reg(adap,
453 A_XGM_RX_MAX_PKT_SIZE 453 A_XGM_RX_MAX_PKT_SIZE + oft));
454 + oft)) / 8); 454 val |= V_RXFIFOPAUSEHWM(rx_fifo_hwm(rx_max_pkt_size) / 8);
455 }
455 t3_write_reg(adap, A_XGM_RXFIFO_CFG + oft, val); 456 t3_write_reg(adap, A_XGM_RXFIFO_CFG + oft, val);
456 457
457 t3_set_reg_field(adap, A_XGM_TX_CFG + oft, F_TXPAUSEEN, 458 t3_set_reg_field(adap, A_XGM_TX_CFG + oft, F_TXPAUSEEN,