• Mattias Jacobsson's avatar
    USB: misc: appledisplay: fix backlight update_status return code · 09015855
    Mattias Jacobsson authored
    Upon success the update_status handler returns a positive number
    corresponding to the number of bytes transferred by usb_control_msg.
    However the return code of the update_status handler should indicate if
    an error occurred(negative) or how many bytes of the user's input to sysfs
    that was consumed. Return code zero indicates all bytes were consumed.
    
    The bug can for example result in the update_status handler being called
    twice, the second time with only the "unconsumed" part of the user's input
    to sysfs. Effectively setting an incorrect brightness.
    
    Change the update_status handler to return zero for all successful
    transactions and forward usb_control_msg's error code upon failure.
    Signed-off-by: default avatarMattias Jacobsson <2pi@mok.nu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    09015855
appledisplay.c 8.83 KB