Commit 1f5e56c9 authored by Rajvi Jingar's avatar Rajvi Jingar Committed by Hans de Goede
Browse files

platform/x86/intel/pmc: Fix in mtl_punit_pmt_init()



pci_get_domain_bus_and_slot() increases the reference count on the pci
device that is used to register the endpoint. In case of failure in
registration, decrease reference count using pci_dev_put(pcidev) before
returning.

Fixes: 6e796485 ("platform/x86/intel/pmc: Show Die C6 counter on Meteor Lake")
Signed-off-by: default avatarRajvi Jingar <rajvi.jingar@linux.intel.com>
Signed-off-by: default avatarDavid E. Box <david.e.box@linux.intel.com>
Link: https://lore.kernel.org/r/20231219042216.2592029-1-rajvi.jingar@linux.intel.com


Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent bd142914
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -985,6 +985,7 @@ static void mtl_punit_pmt_init(struct pmc_dev *pmcdev)
	}

	ep = pmt_telem_find_and_register_endpoint(pcidev, MTL_PMT_DMU_GUID, 0);
	pci_dev_put(pcidev);
	if (IS_ERR(ep)) {
		dev_err(&pmcdev->pdev->dev,
			"pmc_core: couldn't get DMU telem endpoint, %ld\n",
@@ -992,7 +993,6 @@ static void mtl_punit_pmt_init(struct pmc_dev *pmcdev)
		return;
	}

	pci_dev_put(pcidev);
	pmcdev->punit_ep = ep;

	pmcdev->has_die_c6 = true;