Re: [v7 2/5] PCI: Refactor capability search functions to eliminate code duplication

Hans Zhang
2025-04-02T10:42:51Z

On 2025/4/2 17:19, kernel test robot wrote:
> Hi Hans,
>
> kernel test robot noticed the following build errors:
>
> [auto build test ERROR on acb4f33713b9f6cadb6143f211714c343465411c]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Hans-Zhang/PCI-Refactor-capability-search-into-common-macros/20250402-122544
> base: acb4f33713b9f6cadb6143f211714c343465411c
> patch link: https://lore.kernel.org/r/20250402042020.48681-3-18255117159%40163.com
> patch subject: [v7 2/5] PCI: Refactor capability search functions to eliminate code duplication
> config: loongarch-randconfig-001-20250402 (https://download.01.org/0day-ci/archive/20250402/202504021623.LgnqoZPE-lkp@intel.com/config)
> compiler: loongarch64-linux-gcc (GCC) 14.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250402/202504021623.LgnqoZPE-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202504021623.LgnqoZPE-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> drivers/pci/pci.c: In function '__pci_find_next_ht_cap':
>>> drivers/pci/pci.c:627:17: error: 'rc' undeclared (first use in this function); did you mean 'rq'?
> 627 | rc = pci_read_config_byte(dev, pos + 3, &cap);
> | ^~
> | rq
> drivers/pci/pci.c:627:17: note: each undeclared identifier is reported only once for each function it appears in
>

static u8 __pci_find_next_ht_cap(struct pci_dev *dev, u8 pos, int ht_cap)
{
- int rc, ttl = PCI_FIND_CAP_TTL;
u8 cap, mask;

The rc variable was deleted by mistake and will be changed in the next
version.

static u8 __pci_find_next_ht_cap(struct pci_dev *dev, u8 pos, int ht_cap)
{
- int rc;
u8 cap, mask;

Best regards,
Hans

>
> vim +627 drivers/pci/pci.c
>
> 70c0923b0ef10b Jacob Keller 2020-03-02 614
> f646c2a0a6685a Puranjay Mohan 2020-11-29 615 static u8 __pci_find_next_ht_cap(struct pci_dev *dev, u8 pos, int ht_cap)
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 616 {
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 617 u8 cap, mask;
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 618
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 619 if (ht_cap == HT_CAPTYPE_SLAVE || ht_cap == HT_CAPTYPE_HOST)
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 620 mask = HT_3BIT_CAP_MASK;
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 621 else
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 622 mask = HT_5BIT_CAP_MASK;
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 623
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 624 pos = __pci_find_next_cap_ttl(dev->bus, dev->devfn, pos,
> 2675dfd086c109 Hans Zhang 2025-04-02 625 PCI_CAP_ID_HT);
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 626 while (pos) {
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 @627 rc = pci_read_config_byte(dev, pos + 3, &cap);
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 628 if (rc != PCIBIOS_SUCCESSFUL)
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 629 return 0;
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 630
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 631 if ((cap & mask) == ht_cap)
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 632 return pos;
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 633
> 47a4d5be7c50b2 Brice Goglin 2007-01-10 634 pos = __pci_find_next_cap_ttl(dev->bus, dev->devfn,
> 47a4d5be7c50b2 Brice Goglin 2007-01-10 635 pos + PCI_CAP_LIST_NEXT,
> 2675dfd086c109 Hans Zhang 2025-04-02 636 PCI_CAP_ID_HT);
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 637 }
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 638
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 639 return 0;
> 687d5fe3dc3379 Michael Ellerman 2006-11-22 640 }
> f646c2a0a6685a Puranjay Mohan 2020-11-29 641
>