staging: comedi: me4000: fix me4000_detach()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Wed, 5 Aug 2015 17:45:16 +0000 (10:45 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 7 Aug 2015 22:03:31 +0000 (15:03 -0700)
There is no real reason to reset the board when detaching. The comedi core
will ensure that any commands are canceled before the detach.

But the PLX interrupts should be disabled.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/me4000.c

index a4c28fa..4f2ff86 100644 (file)
@@ -1276,8 +1276,12 @@ static int me4000_auto_attach(struct comedi_device *dev,
 
 static void me4000_detach(struct comedi_device *dev)
 {
-       if (dev->iobase)
-               me4000_reset(dev);
+       if (dev->irq) {
+               struct me4000_private *devpriv = dev->private;
+
+               /* Disable interrupts on the PLX */
+               outl(0, devpriv->plx_regbase + PLX9052_INTCSR);
+       }
        comedi_pci_detach(dev);
 }