* [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait
@ 2016-11-11 1:40 Even Xu
2016-11-15 13:27 ` Jiri Kosina
2016-11-15 18:10 ` Pandruvada, Srinivas
0 siblings, 2 replies; 4+ messages in thread
From: Even Xu @ 2016-11-11 1:40 UTC (permalink / raw)
To: jikos; +Cc: linux-input, srinivas.pandruvada, Even Xu
set_current_task() must be called before schedule_timeout(), for this
driver, in order to avoid incorrect usage, use msleep_interrupt()
instead.
Signed-off-by: Even Xu <even.xu@intel.com>
---
drivers/hid/intel-ish-hid/ipc/ipc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/hid/intel-ish-hid/ipc/ipc.c b/drivers/hid/intel-ish-hid/ipc/ipc.c
index 8194c35..86a36eb 100644
--- a/drivers/hid/intel-ish-hid/ipc/ipc.c
+++ b/drivers/hid/intel-ish-hid/ipc/ipc.c
@@ -539,6 +539,8 @@ static int ish_fw_reset_handler(struct ishtp_device *dev)
return 0;
}
+#define TIMEOUT_FOR_HW_RDY_MS 300
+
/**
* ish_fw_reset_work_fn() - FW reset worker function
* @unused: not used
@@ -552,7 +554,7 @@ static void fw_reset_work_fn(struct work_struct *unused)
rv = ish_fw_reset_handler(ishtp_dev);
if (!rv) {
/* ISH is ILUP & ISHTP-ready. Restart ISHTP */
- schedule_timeout(HZ / 3);
+ msleep_interruptible(TIMEOUT_FOR_HW_RDY_MS);
ishtp_dev->recvd_hw_ready = 1;
wake_up_interruptible(&ishtp_dev->wait_hw_ready);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait
2016-11-11 1:40 [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait Even Xu
@ 2016-11-15 13:27 ` Jiri Kosina
2016-11-15 14:37 ` Xu, Even
2016-11-15 18:10 ` Pandruvada, Srinivas
1 sibling, 1 reply; 4+ messages in thread
From: Jiri Kosina @ 2016-11-15 13:27 UTC (permalink / raw)
To: Even Xu; +Cc: linux-input, srinivas.pandruvada
On Fri, 11 Nov 2016, Even Xu wrote:
> set_current_task() must be called before schedule_timeout(), for this
> driver, in order to avoid incorrect usage, use msleep_interrupt()
> instead.
>
> Signed-off-by: Even Xu <even.xu@intel.com>
Is this fixing a bug that has been observed / reported in a real life, or
has this been found purely via code inspection? (asking to schedule
upstream merge properly).
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait
2016-11-15 13:27 ` Jiri Kosina
@ 2016-11-15 14:37 ` Xu, Even
0 siblings, 0 replies; 4+ messages in thread
From: Xu, Even @ 2016-11-15 14:37 UTC (permalink / raw)
To: Jiri Kosina; +Cc: linux-input@vger.kernel.org, Pandruvada, Srinivas
Hi, Jiri,
This issue was found by code inspection, no real bug was reported.
Thanks!
Best Regards,
Even Xu
-----Original Message-----
From: Jiri Kosina [mailto:jikos@kernel.org]
Sent: Tuesday, November 15, 2016 9:27 PM
To: Xu, Even <even.xu@intel.com>
Cc: linux-input@vger.kernel.org; Pandruvada, Srinivas <srinivas.pandruvada@intel.com>
Subject: Re: [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait
On Fri, 11 Nov 2016, Even Xu wrote:
> set_current_task() must be called before schedule_timeout(), for this
> driver, in order to avoid incorrect usage, use msleep_interrupt()
> instead.
>
> Signed-off-by: Even Xu <even.xu@intel.com>
Is this fixing a bug that has been observed / reported in a real life, or has this been found purely via code inspection? (asking to schedule upstream merge properly).
Thanks,
--
Jiri Kosina
SUSE Labs
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait
2016-11-11 1:40 [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait Even Xu
2016-11-15 13:27 ` Jiri Kosina
@ 2016-11-15 18:10 ` Pandruvada, Srinivas
1 sibling, 0 replies; 4+ messages in thread
From: Pandruvada, Srinivas @ 2016-11-15 18:10 UTC (permalink / raw)
To: jikos@kernel.org, Xu, Even; +Cc: linux-input@vger.kernel.org
On Fri, 2016-11-11 at 09:40 +0800, Even Xu wrote:
> set_current_task() must be called before schedule_timeout(), for this
> driver, in order to avoid incorrect usage, use msleep_interrupt()
> instead.
>
> Signed-off-by: Even Xu <even.xu@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
> drivers/hid/intel-ish-hid/ipc/ipc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/hid/intel-ish-hid/ipc/ipc.c b/drivers/hid/intel-
> ish-hid/ipc/ipc.c
> index 8194c35..86a36eb 100644
> --- a/drivers/hid/intel-ish-hid/ipc/ipc.c
> +++ b/drivers/hid/intel-ish-hid/ipc/ipc.c
> @@ -539,6 +539,8 @@ static int ish_fw_reset_handler(struct
> ishtp_device *dev)
> return 0;
> }
>
> +#define TIMEOUT_FOR_HW_RDY_MS 300
> +
> /**
> * ish_fw_reset_work_fn() - FW reset worker function
> * @unused: not used
> @@ -552,7 +554,7 @@ static void fw_reset_work_fn(struct work_struct
> *unused)
> rv = ish_fw_reset_handler(ishtp_dev);
> if (!rv) {
> /* ISH is ILUP & ISHTP-ready. Restart ISHTP */
> - schedule_timeout(HZ / 3);
> + msleep_interruptible(TIMEOUT_FOR_HW_RDY_MS);
> ishtp_dev->recvd_hw_ready = 1;
> wake_up_interruptible(&ishtp_dev->wait_hw_ready);
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-11-15 18:10 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-11 1:40 [PATCH 3/3] hid: intel-ish-hid: ipc: use msleep_interrupt() for wait Even Xu
2016-11-15 13:27 ` Jiri Kosina
2016-11-15 14:37 ` Xu, Even
2016-11-15 18:10 ` Pandruvada, Srinivas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).