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.k...@canonical.com>
Signed-off-by: Diana Craciun <diana.crac...@oss.nxp.com>
---
 drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c 
b/drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c
index 2ce2acad3461..c80dceb46f79 100644
--- a/drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c
+++ b/drivers/vfio/fsl-mc/vfio_fsl_mc_intr.c
@@ -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;
 
-- 
2.17.1

Reply via email to