From: "Michael S. Tsirkin" <mst@redhat.com>
To: Vincent Whitchurch <vincent.whitchurch@axis.com>
Cc: Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
Johannes Berg <johannes@sipsolutions.net>,
kernel@axis.com, Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
Jason Wang <jasowang@redhat.com>,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] um: virt-pci: set device ready in probe()
Date: Fri, 10 Jun 2022 20:34:04 -0400 [thread overview]
Message-ID: <20220610203029-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220610151203.3492541-1-vincent.whitchurch@axis.com>
On Fri, Jun 10, 2022 at 05:12:03PM +0200, Vincent Whitchurch wrote:
> Call virtio_device_ready() to make this driver work after commit
> b4ec69d7e09 ("virtio: harden vring IRQ"), since the driver uses the
> virtqueues in the probe function. (The virtio core sets the device
> ready when probe returns.)
>
> Fixes: 8b4ec69d7e09 ("virtio: harden vring IRQ")
> Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Also fixes this commit:
commit 68f5d3f3b6543266b29e047cfaf9842333019b4c
Author: Johannes Berg <johannes.berg@intel.com>
Date: Fri Mar 5 13:19:58 2021 +0100
um: add PCI over virtio emulation driver
BTW Johannes I think you need to spec this device and get
an ID - what's the plan for that? Current hack of punting
this to userspace isn't really any good long term.
> ---
> arch/um/drivers/virt-pci.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> index 5c092a9153ea..027847023184 100644
> --- a/arch/um/drivers/virt-pci.c
> +++ b/arch/um/drivers/virt-pci.c
> @@ -544,6 +544,8 @@ static int um_pci_init_vqs(struct um_pci_device *dev)
> dev->cmd_vq = vqs[0];
> dev->irq_vq = vqs[1];
>
> + virtio_device_ready(dev->vdev);
> +
> for (i = 0; i < NUM_IRQ_MSGS; i++) {
> void *msg = kzalloc(MAX_IRQ_MSG_SIZE, GFP_KERNEL);
>
> @@ -587,7 +589,7 @@ static int um_pci_virtio_probe(struct virtio_device *vdev)
> dev->irq = irq_alloc_desc(numa_node_id());
> if (dev->irq < 0) {
> err = dev->irq;
> - goto error;
> + goto err_reset;
> }
> um_pci_devices[free].dev = dev;
> vdev->priv = dev;
> @@ -604,6 +606,9 @@ static int um_pci_virtio_probe(struct virtio_device *vdev)
>
> um_pci_rescan();
> return 0;
> +err_reset:
> + virtio_reset_device(vdev);
> + vdev->config->del_vqs(vdev);
> error:
> mutex_unlock(&um_pci_mtx);
> kfree(dev);
> --
> 2.34.1
_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Vincent Whitchurch <vincent.whitchurch@axis.com>
Cc: Richard Weinberger <richard@nod.at>,
Anton Ivanov <anton.ivanov@cambridgegreys.com>,
Johannes Berg <johannes@sipsolutions.net>,
kernel@axis.com, Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
Jason Wang <jasowang@redhat.com>,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] um: virt-pci: set device ready in probe()
Date: Fri, 10 Jun 2022 20:34:04 -0400 [thread overview]
Message-ID: <20220610203029-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20220610151203.3492541-1-vincent.whitchurch@axis.com>
On Fri, Jun 10, 2022 at 05:12:03PM +0200, Vincent Whitchurch wrote:
> Call virtio_device_ready() to make this driver work after commit
> b4ec69d7e09 ("virtio: harden vring IRQ"), since the driver uses the
> virtqueues in the probe function. (The virtio core sets the device
> ready when probe returns.)
>
> Fixes: 8b4ec69d7e09 ("virtio: harden vring IRQ")
> Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Also fixes this commit:
commit 68f5d3f3b6543266b29e047cfaf9842333019b4c
Author: Johannes Berg <johannes.berg@intel.com>
Date: Fri Mar 5 13:19:58 2021 +0100
um: add PCI over virtio emulation driver
BTW Johannes I think you need to spec this device and get
an ID - what's the plan for that? Current hack of punting
this to userspace isn't really any good long term.
> ---
> arch/um/drivers/virt-pci.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/arch/um/drivers/virt-pci.c b/arch/um/drivers/virt-pci.c
> index 5c092a9153ea..027847023184 100644
> --- a/arch/um/drivers/virt-pci.c
> +++ b/arch/um/drivers/virt-pci.c
> @@ -544,6 +544,8 @@ static int um_pci_init_vqs(struct um_pci_device *dev)
> dev->cmd_vq = vqs[0];
> dev->irq_vq = vqs[1];
>
> + virtio_device_ready(dev->vdev);
> +
> for (i = 0; i < NUM_IRQ_MSGS; i++) {
> void *msg = kzalloc(MAX_IRQ_MSG_SIZE, GFP_KERNEL);
>
> @@ -587,7 +589,7 @@ static int um_pci_virtio_probe(struct virtio_device *vdev)
> dev->irq = irq_alloc_desc(numa_node_id());
> if (dev->irq < 0) {
> err = dev->irq;
> - goto error;
> + goto err_reset;
> }
> um_pci_devices[free].dev = dev;
> vdev->priv = dev;
> @@ -604,6 +606,9 @@ static int um_pci_virtio_probe(struct virtio_device *vdev)
>
> um_pci_rescan();
> return 0;
> +err_reset:
> + virtio_reset_device(vdev);
> + vdev->config->del_vqs(vdev);
> error:
> mutex_unlock(&um_pci_mtx);
> kfree(dev);
> --
> 2.34.1
next prev parent reply other threads:[~2022-06-11 0:34 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-10 15:12 [PATCH] um: virt-pci: set device ready in probe() Vincent Whitchurch
2022-06-10 15:12 ` Vincent Whitchurch
2022-06-10 19:36 ` Johannes Berg
2022-06-10 19:36 ` Johannes Berg
2022-06-11 0:34 ` Michael S. Tsirkin [this message]
2022-06-11 0:34 ` Michael S. Tsirkin
2022-06-12 8:58 ` Johannes Berg
2022-06-12 8:58 ` Johannes Berg
2022-06-12 14:08 ` Michael S. Tsirkin
2022-06-12 14:08 ` Michael S. Tsirkin
2022-06-13 6:50 ` Vincent Whitchurch
2022-06-13 6:50 ` Vincent Whitchurch
2022-06-13 6:58 ` Jason Wang
2022-06-13 6:58 ` Jason Wang
2022-06-13 7:25 ` Michael S. Tsirkin
2022-06-13 7:25 ` Michael S. Tsirkin
2022-06-16 10:40 ` Vincent Whitchurch
2022-06-16 10:40 ` Vincent Whitchurch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220610203029-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=anton.ivanov@cambridgegreys.com \
--cc=jasowang@redhat.com \
--cc=johannes@sipsolutions.net \
--cc=kernel@axis.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=richard@nod.at \
--cc=vincent.whitchurch@axis.com \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.