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 a4c28fa90759ed28f51ab23701f2ff8b9f11afe5..4f2ff860cf63fe66129a37eadc63e89ca8668a32 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);
 }