]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume
authorMika Westerberg <mika.westerberg@linux.intel.com>
Wed, 23 May 2018 22:14:39 +0000 (17:14 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 23 May 2018 22:42:53 +0000 (17:42 -0500)
commit5372a23b4877c91f5c49611c036683d4c044649d
tree10b5720ecb527552f321aca243d39f36a859ee66
parentc8589d24862346b070302b274a8a0b029f6ce186
PCI: pciehp: Clear Presence Detect and Data Link Layer Status Changed on resume

After a suspend/resume cycle the Presence Detect or Data Link Layer Status
Changed bits might be set.  If we don't clear them those events will not
fire anymore and nothing happens for instance when a device is now
hot-unplugged.

Fix this by clearing those bits in a newly introduced function
pcie_reenable_notification().  This should be fine because immediately
after, we check if the adapter is still present by reading directly from
the status register.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: stable@vger.kernel.org
drivers/pci/hotplug/pciehp.h
drivers/pci/hotplug/pciehp_core.c
drivers/pci/hotplug/pciehp_hpc.c