From 85a1b593a7e66ba466ddad5282f133c74a6bf0e1 Mon Sep 17 00:00:00 2001 From: Duanqiang Wen Date: Mon, 9 Jan 2023 16:15:57 +0800 Subject: [PATCH] anolis: net: fix ngbe driver pause frame setting can't be changed ANBZ: #3681 fix Wangxun 1Gb Nic driver which named ngbe pause frame setting can't be changed Signed-off-by: Duanqiang Wen --- drivers/net/ethernet/wangxun/ngbe/ngbe.h | 3 +++ drivers/net/ethernet/wangxun/ngbe/ngbe_main.c | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe.h b/drivers/net/ethernet/wangxun/ngbe/ngbe.h index ab34084e5e31..b22430f5a6b2 100644 --- a/drivers/net/ethernet/wangxun/ngbe/ngbe.h +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe.h @@ -25,6 +25,8 @@ #define NGBE_INTR_ALL 0x1FF +#define NGBE_DEFAULT_FCPAUSE 0xFFFF + /* TX/RX descriptor defines */ #define NGBE_DEFAULT_TXD 512 /* default ring size */ #define NGBE_DEFAULT_TX_WORK 256 @@ -542,6 +544,7 @@ struct ngbe_adapter { u32 flags; u32 flags2; unsigned long state; + enum ngbe_fc_mode last_lfc_mode; unsigned int tx_ring_count; unsigned int rx_ring_count; diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c index 83c7a27caf78..68d9cffc7a53 100644 --- a/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_main.c @@ -479,6 +479,15 @@ static int ngbe_sw_init(struct ngbe_adapter *adapter) adapter->flags2 |= NGBE_FLAG2_TEMP_SENSOR_CAPABLE; adapter->flags2 |= NGBE_FLAG2_EEE_CAPABLE; + /* default flow control settings */ + hw->fc.requested_mode = ngbe_fc_full; + hw->fc.current_mode = ngbe_fc_full; /* init for ethtool output */ + + adapter->last_lfc_mode = hw->fc.current_mode; + hw->fc.pause_time = NGBE_DEFAULT_FCPAUSE; + hw->fc.send_xon = true; + hw->fc.disable_fc_autoneg = false; + /* set default ring sizes */ adapter->tx_ring_count = NGBE_DEFAULT_TXD; adapter->rx_ring_count = NGBE_DEFAULT_RXD; -- Gitee