[PATCH 3/3] staging: comedi: amplc_pc263: check bus type in detach routine
Ian Abbott
abbotti at mev.co.uk
Wed Aug 15 12:44:37 UTC 2012
When detaching the device in pc263_detach() mirror the bus type checks
performed by pc263_attach(). The existing tests are safe but rely on
dev->iobase being 0 when comedi_to_pci_dev(dev) is NULL.
Signed-off-by: Ian Abbott <abbotti at mev.co.uk>
---
drivers/staging/comedi/drivers/amplc_pc263.c | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/comedi/drivers/amplc_pc263.c b/drivers/staging/comedi/drivers/amplc_pc263.c
index 94eb612..bd455c3 100644
--- a/drivers/staging/comedi/drivers/amplc_pc263.c
+++ b/drivers/staging/comedi/drivers/amplc_pc263.c
@@ -306,15 +306,18 @@ static int __devinit pc263_attach_pci(struct comedi_device *dev,
static void pc263_detach(struct comedi_device *dev)
{
- struct pci_dev *pcidev = comedi_to_pci_dev(dev);
+ const struct pc263_board *thisboard = comedi_board(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, PC263_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);
+ }
}
}
--
1.7.8.6
More information about the devel
mailing list