1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-15 01:23:49 +01:00

netdev_drivers: make sure to signal LINK_UP at least once

This commit is contained in:
Benjamin Valentin 2022-08-18 12:02:47 +02:00 committed by Benjamin Valentin
parent 4b0bfae4ca
commit 838a5e4bd3
23 changed files with 85 additions and 3 deletions

View File

@ -487,6 +487,9 @@ static int _init(netdev_t *netdev)
{
DEBUG("%s: %p\n", __func__, netdev);
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -404,5 +404,9 @@ static int _init(netdev_t *netdev)
native_async_read_add_handler(dev->tap_fd, netdev, _tap_isr);
DEBUG("gnrc_tapnet: initialized.\n");
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -279,6 +279,10 @@ static int _nrfble_init(netdev_t *dev)
NVIC_EnableIRQ(RADIO_IRQn);
DEBUG("[nrfble] initialization successful\n");
/* signal link UP */
dev->event_callback(dev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -448,6 +448,9 @@ static int nrfmin_init(netdev_t *dev)
DEBUG("[nrfmin] initialization successful\n");
/* signal link UP */
dev->event_callback(dev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -55,6 +55,10 @@ static int _sam0_eth_init(netdev_t *netdev)
eui48_t hwaddr;
netdev_eui48_get(netdev, &hwaddr);
sam0_eth_set_mac(&hwaddr);
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -460,6 +460,11 @@ static int stm32_eth_init(netdev_t *netdev)
_setup_phy();
/* signal link UP if no proper link detection is enabled */
if (!IS_USED(MODULE_STM32_ETH_LINK_UP)) {
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
}
return 0;
}

View File

@ -137,6 +137,9 @@ static int _init(netdev_t *netdev)
/* reset device to default values and put it into RX state */
at86rf215_reset_and_cfg(dev);
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -108,6 +108,9 @@ static int _init(netdev_t *netdev)
/* reset device to default values and put it into RX state */
at86rf2xx_reset(dev);
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -343,6 +343,10 @@ static int cc110x_init(netdev_t *netdev)
}
DEBUG("[cc110x] netdev_driver_t::init(): Success\n");
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -136,7 +136,13 @@ static int _init(netdev_t *netdev)
return -1;
}
return cc2420_init(dev);
int res = cc2420_init(dev);
if (res == 0) {
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
}
return res;
}
static void _isr(netdev_t *netdev)

View File

@ -761,6 +761,8 @@ static int _init(netdev_t *dev)
state(ctx, DOSE_SIGNAL_INIT);
dev->event_callback(dev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -211,9 +211,11 @@ static void _isr(netdev_t *netdev)
netdev->event_callback(netdev, NETDEV_EVENT_RX_COMPLETE);
}
static int _init(netdev_t *encdev)
static int _init(netdev_t *netdev)
{
(void)encdev;
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -100,6 +100,9 @@ static int kw41zrf_netdev_init(netdev_t *netdev)
return -1;
}
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -64,6 +64,9 @@ static int _init(netdev_t *netdev)
return -ENODEV;
}
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -365,6 +365,10 @@ static int _init(netdev_t *netdev)
&enable, sizeof(enable));
netdev_submac->dev.txpower = tx_power;
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -255,6 +255,10 @@ static int _init(netdev_t *netdev)
DEBUG_PUTS("[nrf24l01p_ng] _init(): gpio_init_int() failed");
return -EIO;
}
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -88,6 +88,10 @@ static int _init(netdev_t *netdev)
dev->config.uart, dev->config.baudrate);
return -ENODEV;
}
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -141,6 +141,10 @@ static int _init(netdev_t *netdev)
}
DEBUG("[sx126x] netdev: initialization successful\n");
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -229,6 +229,9 @@ static int _init(netdev_t *netdev)
DEBUG("[sx127x] netdev: initialization done\n");
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -149,6 +149,10 @@ static int _init(netdev_t *netdev)
}
DEBUG("[sx1280] netdev: initialization successful\n");
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -180,6 +180,9 @@ static int init(netdev_t *netdev)
/* release the SPI bus again */
spi_release(dev->p.spi);
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -639,6 +639,10 @@ int xbee_init(netdev_t *dev)
}
DEBUG("[xbee] init: Initialization successful\n");
/* signal link UP */
dev->event_callback(dev, NETDEV_EVENT_LINK_UP);
return 0;
}

View File

@ -155,6 +155,9 @@ static int _init(netdev_t *netdev)
netdev_eui48_get(netdev, (eui48_t*)&cdcecm->mac_netdev);
/* signal link UP */
netdev->event_callback(netdev, NETDEV_EVENT_LINK_UP);
return 0;
}