> -----Original Message----- > From: Maxime Coquelin <maxime.coque...@redhat.com> > Sent: Wednesday, November 30, 2022 11:57 PM > To: dev@dpdk.org; Xia, Chenbo <chenbo....@intel.com>; > david.march...@redhat.com; epere...@redhat.com > Cc: Maxime Coquelin <maxime.coque...@redhat.com>; sta...@dpdk.org > Subject: [PATCH v1 12/21] net/virtio-user: fix device starting failure > handling > > If the device fails to start, read the status from the > device and return early. > > Fixes: 57912824615f ("net/virtio-user: support vhost status setting") > Cc: sta...@dpdk.org > > Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com> > --- > drivers/net/virtio/virtio_user_ethdev.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/virtio/virtio_user_ethdev.c > b/drivers/net/virtio/virtio_user_ethdev.c > index d32abec327..78b1ed9ace 100644 > --- a/drivers/net/virtio/virtio_user_ethdev.c > +++ b/drivers/net/virtio/virtio_user_ethdev.c > @@ -90,10 +90,15 @@ virtio_user_set_status(struct virtio_hw *hw, uint8_t > status) > if (status & VIRTIO_CONFIG_STATUS_FEATURES_OK && > ~old_status & VIRTIO_CONFIG_STATUS_FEATURES_OK) > virtio_user_dev_set_features(dev); > - if (status & VIRTIO_CONFIG_STATUS_DRIVER_OK) > - virtio_user_start_device(dev); > - else if (status == VIRTIO_CONFIG_STATUS_RESET) > + > + if (status & VIRTIO_CONFIG_STATUS_DRIVER_OK) { > + if (virtio_user_start_device(dev)) { > + virtio_user_dev_update_status(dev); > + return; > + } > + } else if (status == VIRTIO_CONFIG_STATUS_RESET) { > virtio_user_reset(hw); > + } > > virtio_user_dev_set_status(dev, status); > } > -- > 2.38.1
Reviewed-by: Chenbo Xia <chenbo....@intel.com>