netdev_driver: add carrier_on to xxx_ifup where carrier_on is absent

since the judgment for network card selection was changed from IS_UP to
IS_RUNNING, drivers that lack carrier_on need to add the carrier_on
operation; otherwise, network access issues will occur.

Signed-off-by: zhanghongyu <zhanghongyu@xiaomi.com>
This commit is contained in:
zhanghongyu
2026-01-28 22:01:27 +08:00
committed by Donny(董九柱)
parent 2ec1bff4e3
commit a7567677a8
53 changed files with 279 additions and 9 deletions
+4 -1
View File
@@ -764,6 +764,8 @@ static int at32can_ifup(struct net_driver_s *dev)
priv->dev.d_buf = (uint8_t *)priv->txdesc; priv->dev.d_buf = (uint8_t *)priv->txdesc;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -795,6 +797,8 @@ static int at32can_ifdown(struct net_driver_s *dev)
at32can_reset(priv); at32can_reset(priv);
netdev_carrier_off(dev);
return OK; return OK;
} }
@@ -2481,4 +2485,3 @@ void arm_netinitialize(void)
#endif #endif
} }
#endif #endif
+6
View File
@@ -2207,6 +2207,9 @@ static int at32_ifup(struct net_driver_s *dev)
up_enable_irq(AT32_IRQ_ETH); up_enable_irq(AT32_IRQ_ETH);
at32_checksetup(); at32_checksetup();
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2261,6 +2264,9 @@ static int at32_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return ret; return ret;
} }
+6
View File
@@ -1758,6 +1758,9 @@ static int c5471_ifup(struct net_driver_s *dev)
priv->c_bifup = true; priv->c_bifup = true;
up_enable_irq(C5471_IRQ_ETHER); up_enable_irq(C5471_IRQ_ETHER);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1810,6 +1813,9 @@ static int c5471_ifdown(struct net_driver_s *dev)
priv->c_bifup = false; priv->c_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -2264,6 +2264,8 @@ static int gd32_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(GD32_IRQ_ENET); up_enable_irq(GD32_IRQ_ENET);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2319,6 +2321,9 @@ static int gd32_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return ret; return ret;
} }
+11 -1
View File
@@ -1399,7 +1399,14 @@ static int imx_ifup(struct net_driver_s *dev)
{ {
/* The externally available ifup action includes resetting the phy */ /* The externally available ifup action includes resetting the phy */
return imx_ifup_action(dev, true); int ret = imx_ifup_action(dev, true);
if (ret == OK)
{
netdev_carrier_on(dev);
}
return ret;
} }
/**************************************************************************** /****************************************************************************
@@ -1451,6 +1458,9 @@ static int imx_ifdown(struct net_driver_s *dev)
priv->bifup = false; priv->bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1371,6 +1371,8 @@ static int imxrt_ifup(struct net_driver_s *dev)
up_enable_irq(priv->config->irq); up_enable_irq(priv->config->irq);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1398,6 +1400,9 @@ static int imxrt_ifdown(struct net_driver_s *dev)
imxrt_reset(priv); imxrt_reset(priv);
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1338,6 +1338,8 @@ static int kinetis_ifup(struct net_driver_s *dev)
up_enable_irq(priv->config->mb_irq); up_enable_irq(priv->config->mb_irq);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1365,6 +1367,9 @@ static int kinetis_ifdown(struct net_driver_s *dev)
kinetis_reset(priv); kinetis_reset(priv);
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1766,6 +1766,8 @@ static int lpc17can_ifup(struct net_driver_s *dev)
lpc17can_rxint(priv, true); lpc17can_rxint(priv, true);
lpc17can_txint(priv, true); lpc17can_txint(priv, true);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1793,6 +1795,9 @@ static int lpc17can_ifdown(struct net_driver_s *dev)
lpc17can_reset(priv); lpc17can_reset(priv);
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
@@ -1507,6 +1507,9 @@ static int lpc17_40_ifup(struct net_driver_s *dev)
#else #else
up_enable_irq(LPC17_40_IRQ_ETH); up_enable_irq(LPC17_40_IRQ_ETH);
#endif #endif
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1546,6 +1549,9 @@ static int lpc17_40_ifdown(struct net_driver_s *dev)
lpc17_40_ethreset(priv); lpc17_40_ethreset(priv);
priv->lp_ifup = false; priv->lp_ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -2097,6 +2097,9 @@ static int lpc43_ifup(struct net_driver_s *dev)
up_enable_irq(LPC43M4_IRQ_ETHERNET); up_enable_irq(LPC43M4_IRQ_ETHERNET);
lpc43_checksetup(); lpc43_checksetup();
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2144,6 +2147,9 @@ static int lpc43_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1971,6 +1971,9 @@ static int lpc54_eth_ifup(struct net_driver_s *dev)
priv->eth_bifup = 1; priv->eth_bifup = 1;
up_enable_irq(LPC54_IRQ_ETHERNET); up_enable_irq(LPC54_IRQ_ETHERNET);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2048,6 +2051,9 @@ static int lpc54_eth_ifdown(struct net_driver_s *dev)
priv->eth_bifup = 0; priv->eth_bifup = 0;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
-1
View File
@@ -349,4 +349,3 @@ int amebaz_netdev_register(struct amebaz_dev_s *priv)
dev->d_private = priv; dev->d_private = priv;
return netdev_register(dev, NET_LL_IEEE80211); return netdev_register(dev, NET_LL_IEEE80211);
} }
+10 -1
View File
@@ -1269,7 +1269,13 @@ static int s32k1xx_ifup(struct net_driver_s *dev)
{ {
/* The externally available ifup action includes resetting the phy */ /* The externally available ifup action includes resetting the phy */
return s32k1xx_ifup_action(dev, true); int ret = s32k1xx_ifup_action(dev, true);
if (ret == OK)
{
netdev_carrier_on(dev);
}
return ret;
} }
/**************************************************************************** /****************************************************************************
@@ -1321,6 +1327,9 @@ static int s32k1xx_ifdown(struct net_driver_s *dev)
priv->bifup = false; priv->bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1323,6 +1323,8 @@ static int s32k1xx_ifup(struct net_driver_s *dev)
up_enable_irq(priv->config->mb_irq); up_enable_irq(priv->config->mb_irq);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1350,6 +1352,9 @@ static int s32k1xx_ifdown(struct net_driver_s *dev)
s32k1xx_reset(priv); s32k1xx_reset(priv);
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
+11 -1
View File
@@ -2033,7 +2033,14 @@ static int s32k3xx_ifup(struct net_driver_s *dev)
{ {
/* The externally available ifup action includes resetting the phy */ /* The externally available ifup action includes resetting the phy */
return s32k3xx_ifup_action(dev, true); int ret = s32k3xx_ifup_action(dev, true);
if (ret == OK)
{
netdev_carrier_on(dev);
}
return ret;
} }
/**************************************************************************** /****************************************************************************
@@ -2087,6 +2094,9 @@ static int s32k3xx_ifdown(struct net_driver_s *dev)
priv->bifup = false; priv->bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+4
View File
@@ -1502,6 +1502,8 @@ static int s32k3xx_ifup(struct net_driver_s *dev)
s32k3xx_gpiowrite(priv->config->led_pin, priv->config->led_high); s32k3xx_gpiowrite(priv->config->led_pin, priv->config->led_high);
} }
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1537,6 +1539,8 @@ static int s32k3xx_ifdown(struct net_driver_s *dev)
s32k3xx_gpiowrite(priv->config->led_pin, !priv->config->led_high); s32k3xx_gpiowrite(priv->config->led_pin, !priv->config->led_high);
} }
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1718,6 +1718,9 @@ static int sam_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(SAM_IRQ_EMAC); up_enable_irq(SAM_IRQ_EMAC);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1764,6 +1767,9 @@ static int sam_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1771,6 +1771,9 @@ static int sam_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(SAM_IRQ_EMAC); up_enable_irq(SAM_IRQ_EMAC);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1817,6 +1820,9 @@ static int sam_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -2124,6 +2124,9 @@ static int sam_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(priv->attr->irq); up_enable_irq(priv->attr->irq);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2170,6 +2173,9 @@ static int sam_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1761,6 +1761,9 @@ static int sam_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(SAM_IRQ_GMAC); up_enable_irq(SAM_IRQ_GMAC);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1807,6 +1810,9 @@ static int sam_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1726,6 +1726,9 @@ static int sam_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(SAM_IRQ_GMAL); up_enable_irq(SAM_IRQ_GMAL);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1772,6 +1775,9 @@ static int sam_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -2577,6 +2577,9 @@ static int sam_ifup(struct net_driver_s *dev)
priv->ifup = true; priv->ifup = true;
up_enable_irq(priv->attr->irq); up_enable_irq(priv->attr->irq);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2623,6 +2626,9 @@ static int sam_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+4
View File
@@ -427,6 +427,8 @@ static int sam_lin_ifup(struct net_driver_s *dev)
UART_INT_LINID | UART_INT_LINERR); UART_INT_LINID | UART_INT_LINERR);
} }
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -470,6 +472,8 @@ static int sam_lin_ifdown(struct net_driver_s *dev)
} }
} }
netdev_carrier_off(dev);
return OK; return OK;
} }
+4 -1
View File
@@ -762,6 +762,8 @@ static int stm32can_ifup(struct net_driver_s *dev)
priv->dev.d_buf = (uint8_t *)priv->txdesc; priv->dev.d_buf = (uint8_t *)priv->txdesc;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -793,6 +795,8 @@ static int stm32can_ifdown(struct net_driver_s *dev)
stm32can_reset(priv); stm32can_reset(priv);
netdev_carrier_off(dev);
return OK; return OK;
} }
@@ -2484,4 +2488,3 @@ void arm_netinitialize(void)
#endif #endif
} }
#endif #endif
+4 -1
View File
@@ -2975,6 +2975,8 @@ static int fdcan_ifup(struct net_driver_s *dev)
priv->dev.d_buf = (uint8_t *)priv->txdesc; priv->dev.d_buf = (uint8_t *)priv->txdesc;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -3007,6 +3009,8 @@ static int fdcan_ifdown(struct net_driver_s *dev)
fdcan_reset(priv); fdcan_reset(priv);
netdev_carrier_off(dev);
return OK; return OK;
} }
@@ -3321,4 +3325,3 @@ void arm_netinitialize(void)
#endif #endif
} }
#endif #endif
+4
View File
@@ -786,6 +786,8 @@ static int stm32can_ifup(struct net_driver_s *dev)
priv->dev.d_buf = (uint8_t *)priv->txdesc; priv->dev.d_buf = (uint8_t *)priv->txdesc;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -817,6 +819,8 @@ static int stm32can_ifdown(struct net_driver_s *dev)
stm32can_reset(priv); stm32can_reset(priv);
netdev_carrier_off(dev);
return OK; return OK;
} }
+4 -1
View File
@@ -1805,6 +1805,8 @@ static int fdcan_ifup(struct net_driver_s *dev)
priv->bifup = true; priv->bifup = true;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1833,6 +1835,8 @@ static int fdcan_ifdown(struct net_driver_s *dev)
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
@@ -3041,4 +3045,3 @@ static void fdcan_errint(struct fdcan_driver_s *priv, bool enable)
putreg32(regval, priv->base + STM32_FDCAN_IE_OFFSET); putreg32(regval, priv->base + STM32_FDCAN_IE_OFFSET);
} }
#endif #endif
+4
View File
@@ -2250,6 +2250,8 @@ static int tivacan_ifup(struct net_driver_s *dev)
priv->dev.d_buf = (uint8_t *)priv->tx_pool; priv->dev.d_buf = (uint8_t *)priv->tx_pool;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2279,6 +2281,8 @@ static int tivacan_ifdown(struct net_driver_s *dev)
tivacan_reset(dev); tivacan_reset(dev);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1260,6 +1260,9 @@ static int tiva_ifup(struct net_driver_s *dev)
priv->ld_bifup = true; priv->ld_bifup = true;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1342,6 +1345,9 @@ static int tiva_ifdown(struct net_driver_s *dev)
priv->ld_bifup = false; priv->ld_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -2223,6 +2223,9 @@ static int tiva_ifup(struct net_driver_s *dev)
up_enable_irq(TIVA_IRQ_ETHCON); up_enable_irq(TIVA_IRQ_ETHCON);
tiva_checksetup(); tiva_checksetup();
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2270,6 +2273,9 @@ static int tiva_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
spin_unlock_irqrestore(&priv->lock, flags); spin_unlock_irqrestore(&priv->lock, flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+10 -1
View File
@@ -1441,7 +1441,14 @@ static int imx9_ifup(struct net_driver_s *dev)
{ {
/* The externally available ifup action includes resetting the phy */ /* The externally available ifup action includes resetting the phy */
return imx9_ifup_action(dev, true); int ret = imx9_ifup_action(dev, true);
if (ret == OK)
{
netdev_carrier_on(dev);
}
return ret;
} }
/**************************************************************************** /****************************************************************************
@@ -1494,6 +1501,8 @@ static int imx9_ifdown(struct net_driver_s *dev)
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1461,6 +1461,8 @@ static int imx9_ifup(struct net_driver_s *dev)
up_enable_irq(priv->irq); up_enable_irq(priv->irq);
up_enable_irq(priv->irq + 1); up_enable_irq(priv->irq + 1);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1492,6 +1494,9 @@ static int imx9_ifdown(struct net_driver_s *dev)
imx9_reset(priv); imx9_reset(priv);
priv->bifup = false; priv->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -448,6 +448,9 @@ static int emac_ifup(struct net_driver_s *dev)
priv->d_bifup = true; priv->d_bifup = true;
up_enable_irq(CONFIG_HCS12_IRQ); up_enable_irq(CONFIG_HCS12_IRQ);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -491,6 +494,9 @@ static int emac_ifdown(struct net_driver_s *dev)
priv->d_bifup = false; priv->d_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -2191,6 +2191,9 @@ static int pic32mx_ifup(struct net_driver_s *dev)
#else #else
up_enable_irq(PIC32MX_IRQSRC_ETH); up_enable_irq(PIC32MX_IRQSRC_ETH);
#endif #endif
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2233,6 +2236,9 @@ static int pic32mx_ifdown(struct net_driver_s *dev)
pic32mx_ethreset(priv); pic32mx_ethreset(priv);
priv->pd_ifup = false; priv->pd_ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -2340,6 +2340,8 @@ static int pic32mz_ifup(struct net_driver_s *dev)
up_enable_irq(PIC32MZ_IRQ_ETH); up_enable_irq(PIC32MZ_IRQ_ETH);
#endif #endif
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2382,6 +2384,9 @@ static int pic32mz_ifdown(struct net_driver_s *dev)
pic32mz_ethreset(priv); pic32mz_ethreset(priv);
priv->pd_ifup = false; priv->pd_ifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -694,6 +694,9 @@ static int misoc_net_ifup(struct net_driver_s *dev)
ethmac_sram_writer_ev_enable_write(1); ethmac_sram_writer_ev_enable_write(1);
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -740,6 +743,9 @@ static int misoc_net_ifdown(struct net_driver_s *dev)
priv->misoc_net_bifup = false; priv->misoc_net_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -2073,6 +2073,9 @@ static int rx65n_ifup(struct net_driver_s *dev)
priv->prevlinkstatus = ETHER_LINKUP; priv->prevlinkstatus = ETHER_LINKUP;
rx65n_checksetup(); rx65n_checksetup();
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -2128,6 +2131,9 @@ static int rx65n_ifdown(struct net_driver_s *dev)
priv->prevlinkstatus = ETHER_LINKDOWN; priv->prevlinkstatus = ETHER_LINKDOWN;
spin_unlock_irqrestore(&priv->lock, flags); spin_unlock_irqrestore(&priv->lock, flags);
netdev_carrier_off(dev);
return ret; return ret;
} }
+4
View File
@@ -859,6 +859,8 @@ static int litex_ifup(struct net_driver_s *dev)
litex_phydump(priv); litex_phydump(priv);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -900,6 +902,8 @@ static int litex_ifdown(struct net_driver_s *dev)
litex_phydump(priv); litex_phydump(priv);
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1592,6 +1592,8 @@ static int mpfs_ifup(struct net_driver_s *dev)
mpfs_txtimeout_expiry, (wdparm_t)priv); mpfs_txtimeout_expiry, (wdparm_t)priv);
#endif #endif
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1652,6 +1654,9 @@ static int mpfs_ifdown(struct net_driver_s *dev)
priv->ifup = false; priv->ifup = false;
spin_unlock_irqrestore(&priv->lock, flags); spin_unlock_irqrestore(&priv->lock, flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+4
View File
@@ -1760,6 +1760,8 @@ static int emac_ifup(struct net_driver_s *dev)
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_on(dev);
return 0; return 0;
} }
@@ -1818,6 +1820,8 @@ static int emac_ifdown(struct net_driver_s *dev)
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return 0; return 0;
} }
+5
View File
@@ -1990,6 +1990,8 @@ static int ez80emac_ifup(FAR struct net_driver_s *dev)
priv->bifup = true; priv->bifup = true;
outp(EZ80_EMAC_IEN, EMAC_EIN_HANDLED); /* Enable all interrupts */ outp(EZ80_EMAC_IEN, EMAC_EIN_HANDLED); /* Enable all interrupts */
ret = OK; ret = OK;
netdev_carrier_on(dev);
} }
return ret; return ret;
@@ -2039,6 +2041,9 @@ static int ez80emac_ifdown(FAR struct net_driver_s *dev)
priv->bifup = false; priv->bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+4
View File
@@ -1023,6 +1023,8 @@ static int kvaser_sock_ifup(FAR struct netdev_lowerhalf_s *dev)
kvaser_txint(priv, true); kvaser_txint(priv, true);
kvaser_rxint(priv, true); kvaser_rxint(priv, true);
netdev_lower_carrier_on(dev);
return OK; return OK;
} }
@@ -1051,6 +1053,8 @@ static int kvaser_sock_ifdown(FAR struct netdev_lowerhalf_s *dev)
kvaser_sleep(priv); kvaser_sleep(priv);
netdev_lower_carrier_off(dev);
return OK; return OK;
} }
+6
View File
@@ -1396,6 +1396,9 @@ static int dm9x_ifup(FAR struct net_driver_s *dev)
priv->dm_bifup = true; priv->dm_bifup = true;
up_enable_irq(CONFIG_DM9X_IRQ); up_enable_irq(CONFIG_DM9X_IRQ);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1442,6 +1445,9 @@ static int dm9x_ifdown(FAR struct net_driver_s *dev)
priv->dm_bifup = false; priv->dm_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+3
View File
@@ -1936,6 +1936,7 @@ static int enc_ifup(struct net_driver_s *dev)
priv->ifstate = ENCSTATE_UP; priv->ifstate = ENCSTATE_UP;
priv->lower->enable(priv->lower); priv->lower->enable(priv->lower);
netdev_carrier_on(dev);
} }
/* Un-lock the SPI bus */ /* Un-lock the SPI bus */
@@ -1991,6 +1992,8 @@ static int enc_ifdown(struct net_driver_s *dev)
priv->ifstate = ENCSTATE_DOWN; priv->ifstate = ENCSTATE_DOWN;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
/* Un-lock the SPI bus */ /* Un-lock the SPI bus */
enc_unlock(priv); enc_unlock(priv);
+6
View File
@@ -1064,6 +1064,9 @@ static int ftmac100_ifup(struct net_driver_s *dev)
priv->ft_bifup = true; priv->ft_bifup = true;
up_enable_irq(CONFIG_FTMAC100_IRQ); up_enable_irq(CONFIG_FTMAC100_IRQ);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1111,6 +1114,9 @@ static int ftmac100_ifdown(struct net_driver_s *dev)
priv->ft_bifup = false; priv->ft_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+2
View File
@@ -2189,6 +2189,7 @@ static int lan9250_ifup(FAR struct net_driver_s *dev)
(uint8_t)(mac_addr[0] >> 24), (uint8_t)(mac_addr[0] >> 16), (uint8_t)(mac_addr[0] >> 24), (uint8_t)(mac_addr[0] >> 16),
(uint8_t)(mac_addr[0] >> 8), (uint8_t)(mac_addr[0] >> 0)); (uint8_t)(mac_addr[0] >> 8), (uint8_t)(mac_addr[0] >> 0));
#endif #endif
netdev_carrier_on(dev);
} }
/* Un-lock the SPI bus */ /* Un-lock the SPI bus */
@@ -2240,6 +2241,7 @@ static int lan9250_ifdown(FAR struct net_driver_s *dev)
IFF_CLR_UP(priv->dev.d_flags); IFF_CLR_UP(priv->dev.d_flags);
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
/* Un-lock the SPI bus */ /* Un-lock the SPI bus */
+6
View File
@@ -657,6 +657,9 @@ static int skel_ifup(FAR struct net_driver_s *dev)
priv->sk_bifup = true; priv->sk_bifup = true;
up_enable_irq(CONFIG_NET_SKELETON_IRQ); up_enable_irq(CONFIG_NET_SKELETON_IRQ);
spin_unlock_irqrestore(&priv->sk_lock, flags); spin_unlock_irqrestore(&priv->sk_lock, flags);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -701,6 +704,9 @@ static int skel_ifdown(FAR struct net_driver_s *dev)
priv->sk_bifup = false; priv->sk_bifup = false;
spin_unlock_irqrestore(&priv->sk_lock, flags); spin_unlock_irqrestore(&priv->sk_lock, flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+4
View File
@@ -837,6 +837,8 @@ static int slip_ifup(FAR struct net_driver_s *dev)
self->bifup = true; self->bifup = true;
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -870,6 +872,8 @@ static int slip_ifdown(FAR struct net_driver_s *dev)
self->bifup = false; self->bifup = false;
netdev_carrier_off(dev);
return OK; return OK;
} }
+5
View File
@@ -1772,6 +1772,8 @@ static int w5500_ifup(FAR struct net_driver_s *dev)
self->w_bifup = true; self->w_bifup = true;
self->lower->enable(self->lower, true); self->lower->enable(self->lower, true);
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1818,6 +1820,9 @@ static int w5500_ifdown(FAR struct net_driver_s *dev)
self->w_bifup = false; self->w_bifup = false;
leave_critical_section(flags); leave_critical_section(flags);
netdev_carrier_off(dev);
return OK; return OK;
} }
+2
View File
@@ -1164,6 +1164,7 @@ static int rndis_transmit(FAR struct rndis_dev_s *priv)
static int rndis_ifup(FAR struct net_driver_s *dev) static int rndis_ifup(FAR struct net_driver_s *dev)
{ {
netdev_carrier_on(dev);
return OK; return OK;
} }
@@ -1177,6 +1178,7 @@ static int rndis_ifup(FAR struct net_driver_s *dev)
static int rndis_ifdown(FAR struct net_driver_s *dev) static int rndis_ifdown(FAR struct net_driver_s *dev)
{ {
netdev_carrier_off(dev);
return OK; return OK;
} }

Some files were not shown because too many files have changed in this diff Show More