• Michal Schmidt's avatar
    [PATCH] airo: fix a race causing initialization failures · 1138c37b
    Michal Schmidt authored
    Matteo Croce reported Aironet initialization failures. They were caused by
    a race in airo. airo finds a free interface name, then initializes the card
    and finally registers the interface. Another device may get the same name
    in the meantime.
    The reason airo gets its name early is to use it in informative printks and
    to name the resources it requests. The printks will be just fine without
    the interface name and the resources can use the driver's name - that's
    what other network drivers do anyway.
    One of the talkative functions is setup_card(). It is called once before
    registration and can be called later again. Let's have an empty dev->name
    during the first call, so it doesn't print the ugly "airo(eth%d)" message.
    Signed-off-by: default avatarMichal Schmidt <mschmidt@redhat.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    1138c37b
airo.c 219 KB