mutex_unlock(&mutex);
 }
 
-static int no_such_ioctl(struct v4l2_int_device *d)
-{
-       return -EINVAL;
-}
-
 /* Adapted from search_extable in extable.c. */
-static v4l2_int_ioctl_func *find_ioctl(struct v4l2_int_slave *slave, int cmd)
+static v4l2_int_ioctl_func *find_ioctl(struct v4l2_int_slave *slave, int cmd,
+                                      v4l2_int_ioctl_func *no_such_ioctl)
 {
        const struct v4l2_int_ioctl_desc *first = slave->ioctls;
        const struct v4l2_int_ioctl_desc *last =
                        return mid->func;
        }
 
-       return &no_such_ioctl;
+       return no_such_ioctl;
+}
+
+static int no_such_ioctl_0(struct v4l2_int_device *d)
+{
+       return -EINVAL;
 }
 
 int v4l2_int_ioctl_0(struct v4l2_int_device *d, int cmd)
 {
-       return ((v4l2_int_ioctl_func_0 *)find_ioctl(d->u.slave, cmd))(d);
+       return ((v4l2_int_ioctl_func_0 *)
+               find_ioctl(d->u.slave, cmd,
+                          (v4l2_int_ioctl_func *)&no_such_ioctl_0))(d);
+}
+
+static int no_such_ioctl_1(struct v4l2_int_device *d, void *arg)
+{
+       return -EINVAL;
 }
 
 int v4l2_int_ioctl_1(struct v4l2_int_device *d, int cmd, void *arg)
 {
-       return ((v4l2_int_ioctl_func_1 *)find_ioctl(d->u.slave, cmd))(d, arg);
+       return ((v4l2_int_ioctl_func_1 *)
+               find_ioctl(d->u.slave, cmd,
+                          (v4l2_int_ioctl_func *)&no_such_ioctl_1))(d, arg);
 }