mt76: mt7915: Fix PCI device refcount leak in mt7915_pci_init_hif2()
[ Upstream commit 5938196cc188ba4323bc6357f5ac55127d715888 ] As comment of pci_get_device() says, it returns a pci_device with its refcount increased. We need to call pci_dev_put() to decrease the refcount. Save the return value of pci_get_device() and call pci_dev_put() to decrease the refcount. Fixes: 9093cfff72e3 ("mt76: mt7915: add support for using a secondary PCIe link for gen1") Fixes: 2e30db0dde61 ("mt76: mt7915: add device id for mt7916") Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
d26fdb1ec5
commit
2d4b9c7e81
@ -65,10 +65,17 @@ static void mt7915_put_hif2(struct mt7915_hif *hif)
|
||||
|
||||
static struct mt7915_hif *mt7915_pci_init_hif2(struct pci_dev *pdev)
|
||||
{
|
||||
struct pci_dev *tmp_pdev;
|
||||
|
||||
hif_idx++;
|
||||
if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7916, NULL) &&
|
||||
!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x790a, NULL))
|
||||
return NULL;
|
||||
|
||||
tmp_pdev = pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7916, NULL);
|
||||
if (!tmp_pdev) {
|
||||
tmp_pdev = pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x790a, NULL);
|
||||
if (!tmp_pdev)
|
||||
return NULL;
|
||||
}
|
||||
pci_dev_put(tmp_pdev);
|
||||
|
||||
writel(hif_idx | MT_PCIE_RECOG_ID_SEM,
|
||||
pcim_iomap_table(pdev)[0] + MT_PCIE_RECOG_ID);
|
||||
|
Loading…
x
Reference in New Issue
Block a user