diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index c10c330d5b308..eb17facf73471 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1840,6 +1840,10 @@ static void ahci_zx_led_remove_quirk(struct pci_dev *pdev) if (target_p0_dev && p1_mmio_tmp) break; } + + if (sata_pdev) + pci_dev_put(sata_pdev); + if (target_p0_dev) { sata_host = pci_get_drvdata(target_p0_dev); sata_hpriv = sata_host ? sata_host->private_data : NULL; @@ -1865,6 +1869,8 @@ static void ahci_zx_led_init_quirk(struct pci_dev *pdev, struct ahci_host_priv * if (err) /* MSR read failed */ return; + pr_info("ahci: zx led quirk init\n"); + hpriv->sx_index = 0xFF; hpriv->px_index = 0xFF; hpriv->p1_mmio = NULL; @@ -1906,6 +1912,8 @@ static void ahci_zx_led_init_quirk(struct pci_dev *pdev, struct ahci_host_priv * break; } } + if (sata_pdev) + pci_dev_put(sata_pdev); } #else static inline void ahci_zx_led_remove_quirk(struct pci_dev *pdev) { }