[+cc Tadeusz; updates to quirk_intel_qat_vf_cap()] On Mon, Sep 11, 2023 at 03:53:48PM +0300, Ilpo Järvinen wrote: > As the first step towards converting PCI accessor function return codes > into normal errnos this series cleans up related code paths which have > complicated multi-line construct to handle the PCI error checking. > > I'd prefer these (the remaining ones) to be routed through PCI tree due > to PCI accessor function return code conversion being built on top of > them. > > v3: > - Return pci_generic_config_read32()'s error code directly > - Removed already accepted patches > > v2: > - Moved ret local var to the inner block (I2C: ali15x3) > - Removed already accepted patches > > > Ilpo Järvinen (6): > alpha: Streamline convoluted PCI error handling > sh: pci: Do PCI error check on own line > atm: iphase: Do PCI error checks on own line > PCI: Do error check on own line to split long if conditions > PCI: xgene: Do PCI error check on own line & keep return value > scsi: ipr: Do PCI error checks on own line > > arch/alpha/kernel/sys_miata.c | 17 +++++++++-------- > arch/sh/drivers/pci/common.c | 7 ++++--- > drivers/atm/iphase.c | 20 +++++++++++--------- > drivers/pci/controller/pci-xgene.c | 7 ++++--- > drivers/pci/pci.c | 9 ++++++--- > drivers/pci/probe.c | 6 +++--- > drivers/pci/quirks.c | 6 +++--- > drivers/scsi/ipr.c | 12 ++++++++---- > 8 files changed, 48 insertions(+), 36 deletions(-) Applied all to pci/config-errs for v6.7, thanks! I made the tweaks below; heads-up to John Paul and Tadeusz. Oh, and weird experience applying these via b4, git am: the Signed-off-by was corrupted on these patches: https://lore.kernel.org/r/20230911125354.25501-7-ilpo.jarvinen@xxxxxxxxxxxxxxx https://lore.kernel.org/r/20230911125354.25501-6-ilpo.jarvinen@xxxxxxxxxxxxxxx https://lore.kernel.org/r/20230911125354.25501-3-ilpo.jarvinen@xxxxxxxxxxxxxxx It looked like this: Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> Not sure why this happened; maybe one of the mailing lists screwed it up and the order of arrival determines which one b4 uses? The ones from linux-alpha look like: Signed-off-by: Ilpo J=C3=A4rvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> which I think corresponds to the bad rendering. I think I fixed them all. Bjorn diff --git a/arch/sh/drivers/pci/common.c b/arch/sh/drivers/pci/common.c index f59e5b9a6a80..ab9e791070b4 100644 --- a/arch/sh/drivers/pci/common.c +++ b/arch/sh/drivers/pci/common.c @@ -50,7 +50,7 @@ int __init pci_is_66mhz_capable(struct pci_channel *hose, int top_bus, int current_bus) { u32 pci_devfn; - unsigned short vid; + u16 vid; int cap66 = -1; u16 stat; int ret; @@ -64,7 +64,7 @@ int __init pci_is_66mhz_capable(struct pci_channel *hose, pci_devfn, PCI_VENDOR_ID, &vid); if (ret != PCIBIOS_SUCCESSFUL) continue; - if (vid == 0xffff) + if (PCI_POSSIBLE_ERROR(vid)) continue; /* check 66MHz capability */ diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 81f3da536a3c..f5fc92441194 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5430,7 +5430,7 @@ static void quirk_intel_qat_vf_cap(struct pci_dev *pdev) pdev->cfg_size = PCI_CFG_SPACE_EXP_SIZE; ret = pci_read_config_dword(pdev, PCI_CFG_SPACE_SIZE, &status); - if ((ret != PCIBIOS_SUCCESSFUL) || (status == 0xffffffff)) + if ((ret != PCIBIOS_SUCCESSFUL) || (PCI_POSSIBLE_ERROR(status))) pdev->cfg_size = PCI_CFG_SPACE_SIZE; if (pci_find_saved_cap(pdev, PCI_CAP_ID_EXP))