Re: [PATCH v5 02/18] PCI/CXL: Probe the underlying bus reset in cxl_reset_bus_function()

From: Jason Gunthorpe

Date: Thu Aug 27 2026 - 16:33:57 EST


> [ ... 27 lines skipped ... ]
> @@ -4979,8 +4979,16 @@ static int cxl_reset_bus_function(struct pci_dev *dev, bool probe)
> if (!dvsec)
> return -ENOTTY;
>
> - if (probe)
> - return 0;
> + /*
> + * Do not probe via pci_reset_bus_function(), which would reject a
> + * masked SBR that the do-reset path below unmasks before resetting.
> + */
> + if (probe) {
> + rc = pci_dev_reset_slot_function(dev, PCI_RESET_PROBE);
> + if (rc != -ENOTTY)
> + return rc;
> + return pci_parent_bus_reset(dev, PCI_RESET_PROBE);
> + }

Why not put this a little lower after the:

>
> rc = pci_read_config_word(bridge, dvsec + PCI_DVSEC_CXL_PORT_CTL, &reg);
> if (rc)

?

--
Jason