Re: [PATCH v11 08/12] PCI/CXL: Reject CXL Reset on multifunction devices

From: Richard Cheng

Date: Fri Sep 04 2026 - 05:46:25 EST


On Wed, Sep 02, 2026 at 07:28:00AM +0800, Srirangan Madhavan wrote:
> CXL Reset can be exposed as a PCI function reset method only when the
> reset is function-scoped. PCI reset-method probing runs during
> enumeration, so walking sibling functions there can race with functions
> that have not been added to the bus yet.
>
> Reject multifunction devices for now instead of trying to infer reset
> scope from sibling state. Systems that can prove a multifunction device
> has function-scoped CXL Reset can be enabled later.
>
> Signed-off-by: Srirangan Madhavan <smadhavan@xxxxxxxxxx>
> Reviewed-by: Dave Jiang <dave.jiang@xxxxxxxxx>
> ---
> drivers/cxl/core/resource.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/cxl/core/resource.c b/drivers/cxl/core/resource.c
> index 13bd0c3faf7e..79227ce70169 100644
> --- a/drivers/cxl/core/resource.c
> +++ b/drivers/cxl/core/resource.c
> @@ -979,6 +979,9 @@ int cxl_reset_function(struct pci_dev *pdev, bool probe)
> if (dvsec < 0)
> return dvsec;
>
> + if (pdev->multifunction)
> + return -ENOTTY;
> +
> if (probe)
> return 0;
>

Hmm a PF can have a single-function PCI header while having many enabled VFs,
and VFs enablement can change after reset-method probing.

Since CXL Reset can affect VFs, do we have the mechanism to quiescie all VF?

Best regards,
Richard Cheng.



> --
> 2.43.0
>