From: Ian Abbott Date: Thu, 4 Apr 2013 13:58:53 +0000 (+0100) Subject: staging: comedi: no need to evade comedi_auto_unconfig() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1f423cfcf56052b462c4bceefb950921c9a0f495;p=openwrt%2Fstaging%2Fblogic.git staging: comedi: no need to evade comedi_auto_unconfig() When `comedi_unlocked_ioctl()` handled the `COMEDI_DEVCONFIG` ioctl via a call to `do_devconfig()`, this used to be allowed to attach a legacy hardware device to any board minor device, and the auto-unconfiguration code for non-legacy used to search all board minor devices to find the hardware device being removed. After calling `do_devconfig()` successfully, `comedi_unlocked_ioctl()` sets the `hardware_device` member of the `struct comedi_file_info` to NULL to stop the auto-unconfiguration code finding it by accident and unconfiguring the wrong comedi device as a result. The above is no longer necessary because `do_devconfig()` now only allows legacy hardware devices to be attached to comedi board minor device numbers below `comedi_num_legacy_minors` and the auto-unconfiguration code (particularly `comedi_release_hardware_device()`) only searches comedi board minor device numbers greater than or equal to `comedi_num_legacy_minors`, so there is no overlap. Remove the now unnecessary setting of `info->hardware_device = NULL` in `comedi_unlocked_ioctl()`. Signed-off-by: Ian Abbott Reviewed-by: H Hartley Sweeten Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/comedi/comedi_fops.c b/drivers/staging/comedi/comedi_fops.c index ffa64228c3cf..a155bf2c6592 100644 --- a/drivers/staging/comedi/comedi_fops.c +++ b/drivers/staging/comedi/comedi_fops.c @@ -1635,9 +1635,6 @@ static long comedi_unlocked_ioctl(struct file *file, unsigned int cmd, } rc = do_devconfig_ioctl(dev, (struct comedi_devconfig __user *)arg); - if (rc == 0) - /* Evade comedi_auto_unconfig(). */ - info->hardware_device = NULL; goto done; }