2021-02-11 19:36:43

by Prashant Malani

[permalink] [raw]
Subject: [PATCH] platform/chrome: cros_ec_typec: Flush pending work

When a PD notifier event arrives, a new work event won't be enqueued if
the current one hasn't completed. This could lead to dropped events.

So, flush any pending work before scheduling the new instance.

Signed-off-by: Prashant Malani <[email protected]>
---
drivers/platform/chrome/cros_ec_typec.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c
index db83c03ae5cd..2fac95e7a455 100644
--- a/drivers/platform/chrome/cros_ec_typec.c
+++ b/drivers/platform/chrome/cros_ec_typec.c
@@ -1031,6 +1031,7 @@ static int cros_ec_typec_event(struct notifier_block *nb,
{
struct cros_typec_data *typec = container_of(nb, struct cros_typec_data, nb);

+ flush_work(&typec->port_work);
schedule_work(&typec->port_work);

return NOTIFY_OK;
--
2.30.0.478.g8a0d178c01-goog


2021-02-11 21:28:02

by Benson Leung

[permalink] [raw]
Subject: Re: [PATCH] platform/chrome: cros_ec_typec: Flush pending work

On Thu, 11 Feb 2021 11:32:21 -0800, Prashant Malani wrote:
> When a PD notifier event arrives, a new work event won't be enqueued if
> the current one hasn't completed. This could lead to dropped events.
>
> So, flush any pending work before scheduling the new instance.

Applied, thanks!

[1/1] platform/chrome: cros_ec_typec: Flush pending work
commit: a59e12218c4f5498d5669a0ee0c725101ca89d52

Best regards,
--
Benson Leung
Staff Software Engineer
Chrome OS Kernel
Google Inc.
[email protected]
Chromium OS Project
[email protected]


Attachments:
(No filename) (566.00 B)
signature.asc (235.00 B)
Download all attachments