• Xenia Ragiadakou's avatar
    staging: rtl8192u: fix read_nic_* functions · b3d42bf1
    Xenia Ragiadakou authored
    read_nic_*() functions are defined in r8192U_core.c.
    They call internally usb_control_msg() to read the
    nic registers and return the value read.
    Following a remark made by Dan Carpenter, if usb_control_msg()
    fails, the value returned will be invalid.
    
    To accommodate for this, this patch changes the functions
    to take a pointer as argument to set the value read and
    return 0 on success and the error status on failure, so
    that callers of read_nic_*() can check the return status.
    
    Some other fixes introduced in read_nic_*() functions are:
    
    The expressions (1<<EPROM_*_SHIFT) used to address and set
    the individual bits of the eeprom register were replaced
    with EPROM_*_BIT bitmasks to make the code more intuitive.
    EPROM_*_BIT bitmasks were defined in r8192U_hw.h and
    EPROM_*_SHIFT were removed.
    
    In netdev_err(), which is called in case of failure,
    the hardcoded function name in the error log message was
    replaced with __func__ to reduce line size.
    Also, from the error log message, it was omitted the word
    "Timeout" and it is just reported the error code since the
    failure can not only be due to timeout expiration but also
    due to a memory allocation failure. In case of timeout
    expiration, usb_start_wait_urb() prints an appropriate log
    message when debug is enabled.
    
    Finally, some minor fixes to the coding style were applied in
    lines affected by the above changes, including the removal
    of ifdef DEBUG_RX (the debugging of reads and writes of the
    nic registers shall be done with explicit check on their
    return status which will be added in a follow on patch).
    Signed-off-by: default avatarXenia Ragiadakou <burzalodowa@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    b3d42bf1
r819xU_phy.c 58.4 KB