vfio/fsl-mc: Fix the dead code in vfio_fsl_mc_set_irq_trigger
authorDiana Craciun <diana.craciun@oss.nxp.com>
Thu, 15 Oct 2020 18:14:17 +0000 (21:14 +0300)
committerAlex Williamson <alex.williamson@redhat.com>
Thu, 15 Oct 2020 18:46:08 +0000 (12:46 -0600)
Static analysis discovered that some code in vfio_fsl_mc_set_irq_trigger
is dead code. Fixed the code by changing the conditions order.

Fixes: cc0ee20bd969 ("vfio/fsl-mc: trigger an interrupt via eventfd")
Reported-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Diana Craciun <diana.craciun@oss.nxp.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c

index 2ce2acad34615e4174737b5b0a6a01a10f23c16a..c80dceb46f793893c8157fb2a4bfcacaebb3b90e 100644 (file)
@@ -114,6 +114,9 @@ static int vfio_fsl_mc_set_irq_trigger(struct vfio_fsl_mc_device *vdev,
        struct device *cont_dev = fsl_mc_cont_dev(&mc_dev->dev);
        struct fsl_mc_device *mc_cont = to_fsl_mc_device(cont_dev);
 
+       if (!count && (flags & VFIO_IRQ_SET_DATA_NONE))
+               return vfio_set_trigger(vdev, index, -1);
+
        if (start != 0 || count != 1)
                return -EINVAL;
 
@@ -128,9 +131,6 @@ static int vfio_fsl_mc_set_irq_trigger(struct vfio_fsl_mc_device *vdev,
                goto unlock;
        mutex_unlock(&vdev->reflck->lock);
 
-       if (!count && (flags & VFIO_IRQ_SET_DATA_NONE))
-               return vfio_set_trigger(vdev, index, -1);
-
        if (flags & VFIO_IRQ_SET_DATA_EVENTFD) {
                s32 fd = *(s32 *)data;