• Simon Arlott's avatar
    USB: cxacru: create sysfs attributes in atm_start instead of bind · da1f82b5
    Simon Arlott authored
    Since usbatm doesn't set the usb_interface driver data until after calling
    bind and heavy_init, it would be NULL when the sysfs attributes are read.
    Reading the MAC address from atm_dev before atm_dev exists would have been
    be possible too.
    
    Calling create_device_file in atm_start will avoid this problem, and the
    data is useless until the first status poll runs.  However, it must be
    ready before a status poll does a printk on line status change otherwise
    userspace could react before the files exist.
    
    For completeness I've moved remove_device_file to atm_stop so it's not
    called in unbind when it's not needed.  There's no point starting ADSL if
    atm_start could still fail either.
    Signed-off-by: default avatarSimon Arlott <simon@fire.lp0.eu>
    Cc: Duncan Sands <duncan.sands@math.u-psud.fr>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    da1f82b5
cxacru.c 36 KB