This member is set at the end of the driver attach and is only used to verify that pci_dio_reset() can be called in the (*detach). The only requirement for pci_dio_reset() to work is that the dev->iobase is valid. Remove the 'valid' member from the private data and use 'dev->iobase' to see if the reset can be done. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/comedi/drivers/adv_pci_dio.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/drivers/staging/comedi/drivers/adv_pci_dio.c b/drivers/staging/comedi/drivers/adv_pci_dio.c index b8c7d914..d3b8ffe 100644 --- a/drivers/staging/comedi/drivers/adv_pci_dio.c +++ b/drivers/staging/comedi/drivers/adv_pci_dio.c @@ -394,7 +394,6 @@ static const struct dio_boardtype boardtypes[] = { }; struct pci_dio_private { - char valid; /* card is usable */ char GlobalIrqEnabled; /* 1= any IRQ source is enabled */ /* PCI-1760 specific data */ unsigned char IDICntEnable; /* counter's counting enable status */ @@ -1157,8 +1156,6 @@ static int pci_dio_auto_attach(struct comedi_device *dev, if (this_board->cardtype == TYPE_PCI1760) pci1760_attach(dev); - devpriv->valid = 1; - pci_dio_reset(dev); return 0; @@ -1166,12 +1163,8 @@ static int pci_dio_auto_attach(struct comedi_device *dev, static void pci_dio_detach(struct comedi_device *dev) { - struct pci_dio_private *devpriv = dev->private; - - if (devpriv) { - if (devpriv->valid) - pci_dio_reset(dev); - } + if (dev->iobase) + pci_dio_reset(dev); comedi_pci_disable(dev); } -- 2.0.3 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel