watchdog: iTCO_wdt.c: remove extra pci_dev_put()'s from init code
authorPrarit Bhargava <prarit@redhat.com>
Wed, 27 Oct 2010 13:50:22 +0000 (09:50 -0400)
committerWim Van Sebroeck <wim@iguana.be>
Thu, 28 Oct 2010 22:34:37 +0000 (22:34 +0000)
commitad1d3a26cdb9a0eaa0bf8351a000df0f256b0baa
tree5100819a67970274c4d3f2b928f05c32d51811b2
parentb63aa731cd9e3fed7694a99f9c233f5f4b244f03
watchdog: iTCO_wdt.c: remove extra pci_dev_put()'s from init code

The iTCO_wdt driver erroneously releases the pci_dev, and causes PCI hotremove
to fail because of an incorrect usage count.

The probe for this driver does a for_each_pci_dev() which gets a reference for
a pci_dev when iTCO_wdt_init() is successful.  The for_each_pci_dev() loop
puts a reference for a pci_dev when iTCO_wdt_init() fails, so the
iTCO_wdt_init() does not need to do any pci_dev_put()'s.

The only pci_dev_put() that is required is in the iTCO_wdt_cleanup() function.

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/iTCO_wdt.c