• Krzysztof Kozlowski's avatar
    power: bq2415x_charger: Properly handle ENODEV from power_supply_get_by_phandle · 0eaf437a
    Krzysztof Kozlowski authored
    The power_supply_get_by_phandle() on error returns ENODEV or NULL.
    The driver later expects obtained pointer to power supply to be
    valid or NULL. If it is not NULL then it dereferences it in
    bq2415x_notifier_call() which would lead to dereferencing ENODEV-value
    pointer.
    
    Properly handle the power_supply_get_by_phandle() error case by
    replacing error value with NULL. This indicates that usb charger
    detection won't be used.
    
    Fix also memory leak of 'name' if power_supply_get_by_phandle() fails
    with NULL and probe should defer.
    Signed-off-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
    Fixes: faffd234 ("bq2415x_charger: Add DT support")
    Cc: <stable@vger.kernel.org>
    [small fix regarding the missing ti,usb-charger-detection info message]
    Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
    0eaf437a
bq2415x_charger.c 44.3 KB