Re: [PATCH] powerpc/pseries/pci: Fix misleading VF limit error message

"Christophe Leroy (CS GROUP)" <[email protected]>
Newsgroups org.ozlabs.lists.linuxppc-dev,org.kernel.vger.linux-kernel
Message-ID <[email protected]>

Le 13/08/2026 à 05:53, Jiangshan Yi a écrit :
> [Vous ne recevez pas souvent de courriers de [email protected]. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
> 
> When the number of requested VFs exceeds MAX_VFS_FOR_MAP_PE, the
> message prints that limit but labels it "Configurable VFs". Print
> each limit with its own message so both are reported when both are
> exceeded.
> 
> Signed-off-by: Jiangshan Yi <[email protected]>
> ---
>   arch/powerpc/platforms/pseries/pci.c | 10 ++++++----
>   1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
> index d11a64a086c1..1e1903bf3f1d 100644
> --- a/arch/powerpc/platforms/pseries/pci.c
> +++ b/arch/powerpc/platforms/pseries/pci.c
> @@ -133,10 +133,12 @@ static int pseries_pci_sriov_enable(struct pci_dev *pdev, u16 num_vfs)
>          /* First integer stores max config */
>          max_config_vfs = of_read_number(&max_vfs[0], 1);
>          if (max_config_vfs < num_vfs || num_vfs > MAX_VFS_FOR_MAP_PE) {
> -               dev_err(&pdev->dev,
> -                       "Num VFs %x > %x Configurable VFs\n",
> -                       num_vfs, (num_vfs > MAX_VFS_FOR_MAP_PE) ?
> -                       MAX_VFS_FOR_MAP_PE : max_config_vfs);
> +               if (max_config_vfs < num_vfs)
> +                       dev_err(&pdev->dev, "Num VFs %x > %x Configurable VFs\n",
> +                               num_vfs, max_config_vfs);
> +               if (num_vfs > MAX_VFS_FOR_MAP_PE)
> +                       dev_err(&pdev->dev, "Num VFs %x > %x PE mapping limit\n",
> +                               num_vfs, MAX_VFS_FOR_MAP_PE);
>                  return -EINVAL;
>          }

What about the following instead, to avoid the double 'if' ?

diff --git a/arch/powerpc/platforms/pseries/pci.c 
b/arch/powerpc/platforms/pseries/pci.c
index d11a64a086c1..6fc13f4a79a3 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -132,11 +132,14 @@ static int pseries_pci_sriov_enable(struct pci_dev 
*pdev, u16 num_vfs)

  	/* First integer stores max config */
  	max_config_vfs = of_read_number(&max_vfs[0], 1);
-	if (max_config_vfs < num_vfs || num_vfs > MAX_VFS_FOR_MAP_PE) {
-		dev_err(&pdev->dev,
-			"Num VFs %x > %x Configurable VFs\n",
-			num_vfs, (num_vfs > MAX_VFS_FOR_MAP_PE) ?
-			MAX_VFS_FOR_MAP_PE : max_config_vfs);
+	if (max_config_vfs < num_vfs) {
+		dev_err(&pdev->dev, "Num VFs %x > %x Configurable VFs\n",
+			num_vfs, max_config_vfs);
+		return -EINVAL;
+	}
+	if (num_vfs > MAX_VFS_FOR_MAP_PE) {
+		dev_err(&pdev->dev, "Num VFs %x > %x PE mapping limit\n",
+			num_vfs, MAX_VFS_FOR_MAP_PE);
  		return -EINVAL;
  	}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.