Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b09f86db authored by Lee Jones's avatar Lee Jones
Browse files

ab8500-charger: Do not use [delayed_]work_pending()



There's no need to test whether a (delayed) work item is pending
before queueing, flushing or cancelling it.  Most uses are unnecessary
and quite a few of them are buggy.

Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent 0577610e
Loading
Loading
Loading
Loading
+6 −13
Original line number Diff line number Diff line
@@ -1661,7 +1661,6 @@ static int ab8500_charger_usb_en(struct ux500_charger *charger,
		dev_dbg(di->dev, "%s Disabled USB charging\n", __func__);

		/* Cancel any pending Vbat check work */
		if (delayed_work_pending(&di->check_vbat_work))
		cancel_delayed_work(&di->check_vbat_work);

	}
@@ -3335,12 +3334,9 @@ static int ab8500_charger_resume(struct platform_device *pdev)
			dev_err(di->dev, "Failed to kick WD!\n");

		/* If not already pending start a new timer */
		if (!delayed_work_pending(
			&di->kick_wd_work)) {
		queue_delayed_work(di->charger_wq, &di->kick_wd_work,
				   round_jiffies(WD_KICK_INTERVAL));
	}
	}

	/* If we still have a HW failure, schedule a new check */
	if (di->flags.mainextchnotok || di->flags.vbus_ovv) {
@@ -3359,11 +3355,8 @@ static int ab8500_charger_suspend(struct platform_device *pdev,
{
	struct ab8500_charger *di = platform_get_drvdata(pdev);

	/* Cancel any pending HW failure check */
	if (delayed_work_pending(&di->check_hw_failure_work))
	/* Cancel any pending jobs */
	cancel_delayed_work(&di->check_hw_failure_work);

	if (delayed_work_pending(&di->vbus_drop_end_work))
	cancel_delayed_work(&di->vbus_drop_end_work);

	flush_delayed_work(&di->attach_work);