From dc9e10b239fbada6c0cb638d6e6b166e13bf4aeb Mon Sep 17 00:00:00 2001 From: Ian Abbott Date: Tue, 14 Aug 2012 16:31:29 +0100 Subject: [PATCH] --- yaml --- r: 324523 b: refs/heads/master c: b7518888afc14e3d1e988837fef4471cd2b3c820 h: refs/heads/master i: 324521: 0b18d5ee921f7479831f048223722637510bf570 324519: 0ab0db9b86870080c7248317cbfe4d5d25da7401 v: v3 --- [refs] | 2 +- .../drivers/staging/comedi/drivers/amplc_dio200.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 4d646b66cea7..4b5db4c311db 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d99ff52ef1da75053de9e42a620930f74615f8ea +refs/heads/master: b7518888afc14e3d1e988837fef4471cd2b3c820 diff --git a/trunk/drivers/staging/comedi/drivers/amplc_dio200.c b/trunk/drivers/staging/comedi/drivers/amplc_dio200.c index 0905e40de192..7a61831132be 100644 --- a/trunk/drivers/staging/comedi/drivers/amplc_dio200.c +++ b/trunk/drivers/staging/comedi/drivers/amplc_dio200.c @@ -1417,7 +1417,6 @@ static int __devinit dio200_attach_pci(struct comedi_device *dev, static void dio200_detach(struct comedi_device *dev) { const struct dio200_board *thisboard = comedi_board(dev); - struct pci_dev *pcidev = comedi_to_pci_dev(dev); const struct dio200_layout_struct *layout; unsigned n; @@ -1442,13 +1441,16 @@ static void dio200_detach(struct comedi_device *dev) } } } - if (pcidev) { - if (dev->iobase) - comedi_pci_disable(pcidev); - pci_dev_put(pcidev); - } else { + if (IS_ISA_BOARD(thisboard)) { if (dev->iobase) release_region(dev->iobase, DIO200_IO_SIZE); + } else if (IS_PCI_BOARD(thisboard)) { + struct pci_dev *pcidev = comedi_to_pci_dev(dev); + if (pcidev) { + if (dev->iobase) + comedi_pci_disable(pcidev); + pci_dev_put(pcidev); + } } }