extcon: max14577: Fix probe failure on successful work queue
authorKrzysztof Kozlowski <k.kozlowski@samsung.com>
Wed, 9 Apr 2014 09:56:09 +0000 (11:56 +0200)
committerChanwoo Choi <cw00.choi@samsung.com>
Thu, 24 Apr 2014 08:26:30 +0000 (17:26 +0900)
In probe the driver queued delayed work for cable detection and
returned the result of queue_delayed_work() call. However the return
value of queue_delayed_work() does not indicate an error and in normal
condition it returns true which means successful work queue.
This effectively resulted in probe failure:
[    2.088204] max14577-muic: probe of max77836-muic failed with error 1

Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: <stable@vger.kernel.org>
Fixes: 962e56bfcf0b ("extcon: max14577: Add extcon-max14577 driver...")
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/extcon/extcon-max14577.c

index c76734a..4179ce1 100644 (file)
@@ -782,13 +782,8 @@ static int max14577_muic_probe(struct platform_device *pdev)
         * driver should notify cable state to upper layer.
         */
        INIT_DELAYED_WORK(&info->wq_detcable, max14577_muic_detect_cable_wq);
-       ret = queue_delayed_work(system_power_efficient_wq, &info->wq_detcable,
+       queue_delayed_work(system_power_efficient_wq, &info->wq_detcable,
                        delay_jiffies);
-       if (ret < 0) {
-               dev_err(&pdev->dev,
-                       "failed to schedule delayed work for cable detect\n");
-               goto err_extcon;
-       }
 
        return ret;