* [PATCH] gpio: virtio: remove timeout
@ 2021-12-20 13:06 Vincent Whitchurch
[not found] ` <CAMRc=MeEnSvSxQe-DdLSujSLpzxa-bacJ590BW+tt8awAJq3_w@mail.gmail.com>
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Vincent Whitchurch @ 2021-12-20 13:06 UTC (permalink / raw)
To: Enrico Weigelt, metux IT consult, Viresh Kumar, Linus Walleij,
Bartosz Golaszewski
Cc: mst, linux-gpio, Viresh Kumar, Vincent Whitchurch, linux-kernel,
virtualization, Bartosz Golaszewski, kernel
The driver imposes an arbitrary one second timeout on virtio requests,
but the specification doesn't prevent the virtio device from taking
longer to process requests, so remove this timeout to support all
systems and device implementations.
Fixes: 3a29355a22c0275fe86 ("gpio: Add virtio-gpio driver")
Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
---
drivers/gpio/gpio-virtio.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
index 84f96b78f32a..9f4941bc5760 100644
--- a/drivers/gpio/gpio-virtio.c
+++ b/drivers/gpio/gpio-virtio.c
@@ -100,11 +100,7 @@ static int _virtio_gpio_req(struct virtio_gpio *vgpio, u16 type, u16 gpio,
virtqueue_kick(vgpio->request_vq);
mutex_unlock(&vgpio->lock);
- if (!wait_for_completion_timeout(&line->completion, HZ)) {
- dev_err(dev, "GPIO operation timed out\n");
- ret = -ETIMEDOUT;
- goto out;
- }
+ wait_for_completion(&line->completion);
if (unlikely(res->status != VIRTIO_GPIO_STATUS_OK)) {
dev_err(dev, "GPIO request failed: %d\n", gpio);
--
2.33.1
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] gpio: virtio: remove timeout
[not found] ` <CAMRc=MeEnSvSxQe-DdLSujSLpzxa-bacJ590BW+tt8awAJq3_w@mail.gmail.com>
@ 2021-12-20 15:35 ` Michael S. Tsirkin
0 siblings, 0 replies; 4+ messages in thread
From: Michael S. Tsirkin @ 2021-12-20 15:35 UTC (permalink / raw)
To: Bartosz Golaszewski
Cc: open list:GPIO SUBSYSTEM, Viresh Kumar, Linus Walleij,
Vincent Whitchurch, Linux Kernel Mailing List, virtualization,
Bartosz Golaszewski, kernel, Viresh Kumar,
Enrico Weigelt, metux IT consult
On Mon, Dec 20, 2021 at 03:54:56PM +0100, Bartosz Golaszewski wrote:
> On Mon, Dec 20, 2021 at 2:07 PM Vincent Whitchurch
> <vincent.whitchurch@axis.com> wrote:
> >
> > The driver imposes an arbitrary one second timeout on virtio requests,
> > but the specification doesn't prevent the virtio device from taking
> > longer to process requests, so remove this timeout to support all
> > systems and device implementations.
> >
> > Fixes: 3a29355a22c0275fe86 ("gpio: Add virtio-gpio driver")
> > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
> > ---
> > drivers/gpio/gpio-virtio.c | 6 +-----
> > 1 file changed, 1 insertion(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
> > index 84f96b78f32a..9f4941bc5760 100644
> > --- a/drivers/gpio/gpio-virtio.c
> > +++ b/drivers/gpio/gpio-virtio.c
> > @@ -100,11 +100,7 @@ static int _virtio_gpio_req(struct virtio_gpio *vgpio, u16 type, u16 gpio,
> > virtqueue_kick(vgpio->request_vq);
> > mutex_unlock(&vgpio->lock);
> >
> > - if (!wait_for_completion_timeout(&line->completion, HZ)) {
> > - dev_err(dev, "GPIO operation timed out\n");
> > - ret = -ETIMEDOUT;
> > - goto out;
> > - }
> > + wait_for_completion(&line->completion);
> >
> > if (unlikely(res->status != VIRTIO_GPIO_STATUS_OK)) {
> > dev_err(dev, "GPIO request failed: %d\n", gpio);
> > --
> > 2.33.1
> >
>
> My knowledge of virtio is limited, I hope this is not a stupid question.
>
> Does this mean the operation can get stuck indefinitely?
>
> Bart
Only if the device is broken. which given it's part of the
hypervisor, is par for the course.
--
MST
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gpio: virtio: remove timeout
2021-12-20 13:06 [PATCH] gpio: virtio: remove timeout Vincent Whitchurch
[not found] ` <CAMRc=MeEnSvSxQe-DdLSujSLpzxa-bacJ590BW+tt8awAJq3_w@mail.gmail.com>
@ 2021-12-20 15:35 ` Michael S. Tsirkin
2021-12-21 4:26 ` Viresh Kumar
2 siblings, 0 replies; 4+ messages in thread
From: Michael S. Tsirkin @ 2021-12-20 15:35 UTC (permalink / raw)
To: Vincent Whitchurch
Cc: linux-gpio, Viresh Kumar, Linus Walleij, linux-kernel,
virtualization, Bartosz Golaszewski, kernel, Viresh Kumar,
Enrico Weigelt, metux IT consult, Bartosz Golaszewski
On Mon, Dec 20, 2021 at 02:06:56PM +0100, Vincent Whitchurch wrote:
> The driver imposes an arbitrary one second timeout on virtio requests,
> but the specification doesn't prevent the virtio device from taking
> longer to process requests, so remove this timeout to support all
> systems and device implementations.
>
> Fixes: 3a29355a22c0275fe86 ("gpio: Add virtio-gpio driver")
> Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> drivers/gpio/gpio-virtio.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
> index 84f96b78f32a..9f4941bc5760 100644
> --- a/drivers/gpio/gpio-virtio.c
> +++ b/drivers/gpio/gpio-virtio.c
> @@ -100,11 +100,7 @@ static int _virtio_gpio_req(struct virtio_gpio *vgpio, u16 type, u16 gpio,
> virtqueue_kick(vgpio->request_vq);
> mutex_unlock(&vgpio->lock);
>
> - if (!wait_for_completion_timeout(&line->completion, HZ)) {
> - dev_err(dev, "GPIO operation timed out\n");
> - ret = -ETIMEDOUT;
> - goto out;
> - }
> + wait_for_completion(&line->completion);
>
> if (unlikely(res->status != VIRTIO_GPIO_STATUS_OK)) {
> dev_err(dev, "GPIO request failed: %d\n", gpio);
> --
> 2.33.1
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] gpio: virtio: remove timeout
2021-12-20 13:06 [PATCH] gpio: virtio: remove timeout Vincent Whitchurch
[not found] ` <CAMRc=MeEnSvSxQe-DdLSujSLpzxa-bacJ590BW+tt8awAJq3_w@mail.gmail.com>
2021-12-20 15:35 ` Michael S. Tsirkin
@ 2021-12-21 4:26 ` Viresh Kumar
2 siblings, 0 replies; 4+ messages in thread
From: Viresh Kumar @ 2021-12-21 4:26 UTC (permalink / raw)
To: Vincent Whitchurch
Cc: mst, Viresh Kumar, Linus Walleij, linux-kernel, virtualization,
Bartosz Golaszewski, kernel, linux-gpio,
Enrico Weigelt, metux IT consult, Bartosz Golaszewski
On 20-12-21, 14:06, Vincent Whitchurch wrote:
> The driver imposes an arbitrary one second timeout on virtio requests,
> but the specification doesn't prevent the virtio device from taking
> longer to process requests, so remove this timeout to support all
> systems and device implementations.
>
> Fixes: 3a29355a22c0275fe86 ("gpio: Add virtio-gpio driver")
> Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
> ---
> drivers/gpio/gpio-virtio.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/drivers/gpio/gpio-virtio.c b/drivers/gpio/gpio-virtio.c
> index 84f96b78f32a..9f4941bc5760 100644
> --- a/drivers/gpio/gpio-virtio.c
> +++ b/drivers/gpio/gpio-virtio.c
> @@ -100,11 +100,7 @@ static int _virtio_gpio_req(struct virtio_gpio *vgpio, u16 type, u16 gpio,
> virtqueue_kick(vgpio->request_vq);
> mutex_unlock(&vgpio->lock);
>
> - if (!wait_for_completion_timeout(&line->completion, HZ)) {
> - dev_err(dev, "GPIO operation timed out\n");
> - ret = -ETIMEDOUT;
> - goto out;
> - }
> + wait_for_completion(&line->completion);
>
> if (unlikely(res->status != VIRTIO_GPIO_STATUS_OK)) {
> dev_err(dev, "GPIO request failed: %d\n", gpio);
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
--
viresh
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-12-21 4:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-20 13:06 [PATCH] gpio: virtio: remove timeout Vincent Whitchurch
[not found] ` <CAMRc=MeEnSvSxQe-DdLSujSLpzxa-bacJ590BW+tt8awAJq3_w@mail.gmail.com>
2021-12-20 15:35 ` Michael S. Tsirkin
2021-12-20 15:35 ` Michael S. Tsirkin
2021-12-21 4:26 ` Viresh Kumar
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox