mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
pci-v6.11-fixes-1
-----BEGIN PGP SIGNATURE----- iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmarz58UHGJoZWxnYWFz QGdvb2dsZS5jb20ACgkQWYigwDrT+vzrCQ//XQ5sBI3Hn0LYSHyy+fbBwaqDK68H SkJiQpbEpQKBx53NJ0bo0la+JfjQx9vooV+kPGJrCvGtBU663O1DFMvUky9fSQYq zSHwgfwq85xx1T5bSaCHV5Sr+x2Du7dx8DSKH92HOyHvenQiKgneQj4tObGC89Gi tLz/Ki3u30gfGkbKDoZp9+8bE9l89tWG0KQhbnEkKzS22rs8mnr5iJSCOLtcppUf Y6kEhbyeUCUcLK0s/BSVnIteq3M12pZHH8BwK+zDzDL+zG7lYCyrExsIlVr8PlwU GLYViHfzG0Cc07HwiM6ScOz8nDSXs9Xruhr0u36h3sTiiHYyqVxpo+Yt6UkgLeGq VJ+Nmfey/CnU06iaL0YSXJi2c2VGUBScNNQqm5mpRPAmD8ua5JJwx9rzEYrLl170 oq/jbuZxxgrF/FUsKEf0pG/x8sIqTpP4Yy2Twgw2KWQoKwYoFKL12u2jliJtfE2x vc7aTgENHKYid9xR9IxYDp0N/ZiBjLaxsLQc/QnrhFYQP+BpNzrn4fHPMdoYDzw0 1Ko1T/hjYUbNReTPSQYngCrrPUl3X042gBQyP5/sjUu4PZ6HRXt5NhbLo38z3jtP zQG1lNaSMUlZRShZC84pLO3FNeVGMGH2XwjKBDDhu0KH1+m/DRAEa50Z7ZD0aFtn su4dhnrybWNOAd8= =2QZ4 -----END PGP SIGNATURE----- Merge tag 'pci-v6.11-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci Pull PCI fixes from Bjorn Helgaas: - Fix a pci_intx() regression that caused driver reload to fail with "Resources present before probing" (Philipp Stanner) - Fix a pciehp regression that clobbered the upper bits of RAID status LEDs on NVMe devices behind an Intel VMD (Blazej Kucman) * tag 'pci-v6.11-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: PCI: pciehp: Retain Power Indicator bits for userspace indicators PCI: Fix devres regression in pci_intx()
This commit is contained in:
commit
c0ecd63883
|
|
@ -485,7 +485,9 @@ int pciehp_set_raw_indicator_status(struct hotplug_slot *hotplug_slot,
|
|||
struct pci_dev *pdev = ctrl_dev(ctrl);
|
||||
|
||||
pci_config_pm_runtime_get(pdev);
|
||||
pcie_write_cmd_nowait(ctrl, FIELD_PREP(PCI_EXP_SLTCTL_AIC, status),
|
||||
|
||||
/* Attention and Power Indicator Control bits are supported */
|
||||
pcie_write_cmd_nowait(ctrl, FIELD_PREP(PCI_EXP_SLTCTL_AIC | PCI_EXP_SLTCTL_PIC, status),
|
||||
PCI_EXP_SLTCTL_AIC | PCI_EXP_SLTCTL_PIC);
|
||||
pci_config_pm_runtime_put(pdev);
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -4477,12 +4477,6 @@ void pci_intx(struct pci_dev *pdev, int enable)
|
|||
{
|
||||
u16 pci_command, new;
|
||||
|
||||
/* Preserve the "hybrid" behavior for backwards compatibility */
|
||||
if (pci_is_managed(pdev)) {
|
||||
WARN_ON_ONCE(pcim_intx(pdev, enable) != 0);
|
||||
return;
|
||||
}
|
||||
|
||||
pci_read_config_word(pdev, PCI_COMMAND, &pci_command);
|
||||
|
||||
if (enable)
|
||||
|
|
@ -4490,8 +4484,15 @@ void pci_intx(struct pci_dev *pdev, int enable)
|
|||
else
|
||||
new = pci_command | PCI_COMMAND_INTX_DISABLE;
|
||||
|
||||
if (new != pci_command)
|
||||
if (new != pci_command) {
|
||||
/* Preserve the "hybrid" behavior for backwards compatibility */
|
||||
if (pci_is_managed(pdev)) {
|
||||
WARN_ON_ONCE(pcim_intx(pdev, enable) != 0);
|
||||
return;
|
||||
}
|
||||
|
||||
pci_write_config_word(pdev, PCI_COMMAND, new);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(pci_intx);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user