drivers/net/{e1000|igc}: disable TX by modify only TX enable bit

disable TX by modify only TX enable bit, otherwise we lose TX configuration

Signed-off-by: p-szafonimateusz <p-szafonimateusz@xiaomi.com>
This commit is contained in:
p-szafonimateusz 2025-06-04 12:18:22 +02:00 • committed by Xiang Xiao
parent 0a8ef045ab
commit bdde180d7a
2 changed files with 10 additions and 4 deletions

View file

@ -1161,7 +1161,8 @@ static int e1000_rmmac(FAR struct netdev_lowerhalf_s *dev,
static void e1000_disable(FAR struct e1000_driver_s *priv)
{
int i = 0;
uint32_t regval;
int i = 0;
/* Disable interrupts */
@ -1170,7 +1171,9 @@ static void e1000_disable(FAR struct e1000_driver_s *priv)
/* Disable Transmitter */
e1000_putreg_mem(priv, E1000_TCTL, 0);
regval = e1000_getreg_mem(priv, E1000_TCTL);
regval &= ~E1000_TCTL_EN;
e1000_putreg_mem(priv, E1000_TCTL, regval);
/* Disable Receiver */

View file

@ -1042,7 +1042,8 @@ static int igc_rmmac(FAR struct netdev_lowerhalf_s *dev,
static void igc_disable(FAR struct igc_driver_s *priv)
{
int i = 0;
uint32_t regval;
int i = 0;
/* Disable interrupts */
@ -1052,7 +1053,9 @@ static void igc_disable(FAR struct igc_driver_s *priv)
/* Disable Transmitter */
igc_putreg_mem(priv, IGC_TCTL, 0);
regval = igc_getreg_mem(priv, IGC_TCTL);
regval &= ~IGC_TCTL_EN;
igc_putreg_mem(priv, IGC_TCTL, regval);
/* Disable Receiver */