[PATCH 7/9] [ETH]: Start net device with carrier down | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
Because it _is_ down when the device starts. The device's carrier status is controlled via the functions netif_carrier_on() and netif_carrier_off(). These set or clear a bit indicating the lower level link aka carrier is down, and if the state changed, they fire off a routing netlink event. The problem is that when the device is first created and opened, the state bit indicating the carrier is down isn't set, i.e. the state is wrong. When the carrier comes up for the first time no netlink event is sent, since the device state indicated the carrier was already up. Signed-off-by: Trent Piepho <tpiepho@xxxxxxxxxxxxx> CC: Andy Fleming <afleming@xxxxxxxxxxxxx> --- net/ethernet/eth.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index a80839b..cdba6d0 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c @@ -333,6 +333,7 @@ void ether_setup(struct net_device *dev) dev->addr_len = ETH_ALEN; dev->tx_queue_len = 1000; /* Ethernet wants good queues */ dev->flags = IFF_BROADCAST|IFF_MULTICAST; + dev->state = 1 << __LINK_STATE_NOCARRIER; memset(dev->broadcast, 0xFF, ETH_ALEN); -- 1.5.4.1 -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Kernel List] [Site Home] [Ethernet Bridging] [Git] [IETF Annouce] [Linux Assembly] [VLAN] [Networking] [Security] [Bugtraq] [Rubini] [Photo] [Singles Social Netowrking] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Linux Wireless] [DDR & Rambus] [Free Dating] [Linux Resources] [Wireless Reading Device]
![]() |
![]() |