power: supply: charger-manager: Verify polling interval only when polling requested
authorLadislav Michl <ladis@linux-mips.org>
Wed, 21 Mar 2018 15:50:00 +0000 (16:50 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.co.uk>
Wed, 25 Apr 2018 22:01:27 +0000 (00:01 +0200)
Driver bails out with -EINVAL when no polling specififaion is requested.
Fix that by verifing polling interval only if polling_mode is different
from CM_POLL_DISABLE.

Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
drivers/power/supply/charger-manager.c

index 1de4b44..2a50b46 100644 (file)
@@ -1700,8 +1700,9 @@ static int charger_manager_probe(struct platform_device *pdev)
                power_supply_put(psy);
        }
 
-       if (desc->polling_interval_ms == 0 ||
-           msecs_to_jiffies(desc->polling_interval_ms) <= CM_JIFFIES_SMALL) {
+       if (cm->desc->polling_mode != CM_POLL_DISABLE &&
+           (desc->polling_interval_ms == 0 ||
+            msecs_to_jiffies(desc->polling_interval_ms) <= CM_JIFFIES_SMALL)) {
                dev_err(&pdev->dev, "polling_interval_ms is too small\n");
                return -EINVAL;
        }