• Frank Pavlic's avatar
    [PATCH] s390: set online race in the lcs driver · b5f9d55b
    Frank Pavlic authored
    [patch 3/10] s390: set online race in the lcs driver.
    
    From: Michael Holzheu <holzheu@de.ibm.com>
    
    There is a race between lcs_stopcard() and lcs_open_device() which
    can lead to the error 'lcs: Error in starting channel, rc=-16'.
    lcs_open_device() is invoked when 'ifconfig up' is called due to a
    hotplug event, which is caused by register_netdev(). In parallel
    lcs_stopcard() is executed. Both functions are sending lcs commands.
    The second invocation fails with -EBUSY (-16) as return value.
    Move invocation of register_netdev() after invocation of lcs_stopcard
    to avoid the race.
    Signed-off-by: default avatarFrank Pavlic <pavlic@de.ibm.com>
    b5f9d55b
lcs.c 58.5 KB