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; }