]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
staging: comedi: amplc_pci224: Fix PCI ref count
authorIan Abbott <abbotti@mev.co.uk>
Mon, 3 Sep 2012 15:39:38 +0000 (16:39 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 4 Sep 2012 18:40:40 +0000 (11:40 -0700)
commitcadf84bfeb80e216fde328d357fe856160157d2c
tree45e65dd1cf18f82ed6d3a638f229bdf6d467ce41
parentfea7a08acb13524b47711625eebea40a0ede69a0
staging: comedi: amplc_pci224: Fix PCI ref count

When attaching a PCI device manually via the comedi driver `attach` hook
(`pci224_attach()`) (called by the comedi core for the
`COMEDI_DEVCONFIG` ioctl), its reference count is incremented in the
`for_each_pci_dev` loop (in `pci224_find_pci_dev()`).  It is decremented
when the `detach` hook (`pci224_detach()`) is called to detach the
device.  However, when the PCI device is attached automatically via the
`attach_pci` hook (`pci224_attach_pci()`, called at probe time via
`comedi_pci_auto_config()`) it's reference count is not incremented so
there will be an unmatched decrement when detaching the device.

Increment the PCI device reference count in `pci224_attach_pci()` to
correct the mismatch.

Once support for manual configuration has been removed from this driver,
the calls to `pci_dev_get()` and `pci_dev_put()` can be removed.

Cc: stable <stable@vger.kernel.org> # 3.5.x
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/amplc_pci224.c