Do not initialize the 'ret' variable, but explicitly set in in each
code path, so that an forgotten assignment in some code path would
lead to an 'uninitialized variable' warning at compile time.
static long vpu_ioctl(struct file *filp, u_int cmd,
u_long arg)
{
- int ret = -EINVAL;
+ int ret;
struct vpu_user_data *user_data = filp->private_data;
struct vpu_priv *vpu_data = user_data->vpu_data;
kfree(rec);
mutex_unlock(&vpu_data->lock);
+ ret = 0;
break;
}
case VPU_IOC_WAIT4INT:
dev_warn(vpu_dev, "VPU interrupt received.\n");
ret = -ERESTARTSYS;
} else {
- irq_status = 0;
+ ret = irq_status = 0;
}
break;
}
break;
case VPU_IOC_REG_DUMP:
case VPU_IOC_PHYMEM_DUMP:
- ret = 0;
+ ret = -ENOTSUPP;
break;
case VPU_IOC_PHYMEM_CHECK:
{
}
default:
dev_err(vpu_dev, "No such IOCTL, cmd is %d\n", cmd);
+ ret = -EINVAL;
}
return ret;
}