• Kevin Cernekee's avatar
    usb: gadget: Fix g_ether interface link status · 0331c3a6
    Kevin Cernekee authored
    commit 31bde1ce upstream.
    
    A "usb0" interface that has never been connected to a host has an unknown
    operstate, and therefore the IFF_RUNNING flag is (incorrectly) asserted
    when queried by ifconfig, ifplugd, etc.  This is a result of calling
    netif_carrier_off() too early in the probe function; it should be called
    after register_netdev().
    
    Similar problems have been fixed in many other drivers, e.g.:
    
        e826eafa (bonding: Call netif_carrier_off after register_netdevice)
        0d672e9f (drivers/net: Call netif_carrier_off at the end of the probe)
        6a3c869a (cxgb4: fix reported state of interfaces without link)
    
    Fix is to move netif_carrier_off() to the end of the function.
    Signed-off-by: default avatarKevin Cernekee <cernekee@gmail.com>
    Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    0331c3a6
u_ether.c 24.4 KB