|
@@ -1334,14 +1334,19 @@ static int i7core_get_onedevice(struct pci_dev **prev,
|
|
* is at addr 8086:2c40, instead of 8086:2c41. So, we need
|
|
* is at addr 8086:2c40, instead of 8086:2c41. So, we need
|
|
* to probe for the alternate address in case of failure
|
|
* to probe for the alternate address in case of failure
|
|
*/
|
|
*/
|
|
- if (dev_descr->dev_id == PCI_DEVICE_ID_INTEL_I7_NONCORE && !pdev)
|
|
|
|
|
|
+ if (dev_descr->dev_id == PCI_DEVICE_ID_INTEL_I7_NONCORE && !pdev) {
|
|
|
|
+ pci_dev_get(*prev); /* pci_get_device will put it */
|
|
pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
PCI_DEVICE_ID_INTEL_I7_NONCORE_ALT, *prev);
|
|
PCI_DEVICE_ID_INTEL_I7_NONCORE_ALT, *prev);
|
|
|
|
+ }
|
|
|
|
|
|
- if (dev_descr->dev_id == PCI_DEVICE_ID_INTEL_LYNNFIELD_NONCORE && !pdev)
|
|
|
|
|
|
+ if (dev_descr->dev_id == PCI_DEVICE_ID_INTEL_LYNNFIELD_NONCORE &&
|
|
|
|
+ !pdev) {
|
|
|
|
+ pci_dev_get(*prev); /* pci_get_device will put it */
|
|
pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
pdev = pci_get_device(PCI_VENDOR_ID_INTEL,
|
|
PCI_DEVICE_ID_INTEL_LYNNFIELD_NONCORE_ALT,
|
|
PCI_DEVICE_ID_INTEL_LYNNFIELD_NONCORE_ALT,
|
|
*prev);
|
|
*prev);
|
|
|
|
+ }
|
|
|
|
|
|
if (!pdev) {
|
|
if (!pdev) {
|
|
if (*prev) {
|
|
if (*prev) {
|