Re: [PATCH v5] x86/PCI: Recognize that Interrupt Line 255 means "not connected"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Chen,

[auto build test ERROR on pm/linux-next]
[also build test ERROR on v4.5-rc4 next-20160212]
[if your patch is applied to the wrong git tree, please drop us a note to help improving the system]

url:    https://github.com/0day-ci/linux/commits/Chen-Fan/x86-PCI-Recognize-that-Interrupt-Line-255-means-not-connected/20160215-113403
base:   https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next
config: x86_64-randconfig-x004-201607 (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

   drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_valid':
>> drivers/acpi/pci_irq.c:401:14: error: 'pin' undeclared (first use in this function)
        pin_name(pin));
                 ^
   drivers/acpi/pci_irq.c:401:14: note: each undeclared identifier is reported only once for each function it appears in
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/list.h:4,
                    from include/linux/dmi.h:4,
                    from drivers/acpi/pci_irq.c:26:
   drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_enable':
>> drivers/acpi/pci_irq.c:457:8: error: too many arguments to function 'acpi_pci_irq_valid'
      if (!acpi_pci_irq_valid(dev, pin))
           ^
   include/linux/compiler.h:147:28: note: in definition of macro '__trace_if'
     if (__builtin_constant_p((cond)) ? !!(cond) :   \
                               ^
>> drivers/acpi/pci_irq.c:457:3: note: in expansion of macro 'if'
      if (!acpi_pci_irq_valid(dev, pin))
      ^
   drivers/acpi/pci_irq.c:391:20: note: declared here
    static inline bool acpi_pci_irq_valid(struct pci_dev *dev)
                       ^
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/list.h:4,
                    from include/linux/dmi.h:4,
                    from drivers/acpi/pci_irq.c:26:
>> drivers/acpi/pci_irq.c:457:8: error: too many arguments to function 'acpi_pci_irq_valid'
      if (!acpi_pci_irq_valid(dev, pin))
           ^
   include/linux/compiler.h:147:40: note: in definition of macro '__trace_if'
     if (__builtin_constant_p((cond)) ? !!(cond) :   \
                                           ^
>> drivers/acpi/pci_irq.c:457:3: note: in expansion of macro 'if'
      if (!acpi_pci_irq_valid(dev, pin))
      ^
   drivers/acpi/pci_irq.c:391:20: note: declared here
    static inline bool acpi_pci_irq_valid(struct pci_dev *dev)
                       ^
   In file included from include/uapi/linux/stddef.h:1:0,
                    from include/linux/stddef.h:4,
                    from include/uapi/linux/posix_types.h:4,
                    from include/uapi/linux/types.h:13,
                    from include/linux/types.h:5,
                    from include/linux/list.h:4,
                    from include/linux/dmi.h:4,
                    from drivers/acpi/pci_irq.c:26:
>> drivers/acpi/pci_irq.c:457:8: error: too many arguments to function 'acpi_pci_irq_valid'
      if (!acpi_pci_irq_valid(dev, pin))
           ^
   include/linux/compiler.h:158:16: note: in definition of macro '__trace_if'
      ______r = !!(cond);     \
                   ^
>> drivers/acpi/pci_irq.c:457:3: note: in expansion of macro 'if'
      if (!acpi_pci_irq_valid(dev, pin))
      ^
   drivers/acpi/pci_irq.c:391:20: note: declared here
    static inline bool acpi_pci_irq_valid(struct pci_dev *dev)
                       ^

vim +/pin +401 drivers/acpi/pci_irq.c

   395		 * On x86 irq line 0xff means "unknown" or "no connection"
   396		 * (PCI 3.0, Section 6.2.4, footnote on page 223).
   397		 */
   398		if (dev->irq == 0xff) {
   399			dev->irq = IRQ_NOTCONNECTED;
   400			dev_warn(&dev->dev, "PCI INT %c: not connected\n",
 > 401				 pin_name(pin));
   402			return false;
   403		}
   404	#endif
   405		return true;
   406	}
   407	
   408	int acpi_pci_irq_enable(struct pci_dev *dev)
   409	{
   410		struct acpi_prt_entry *entry;
   411		int gsi;
   412		u8 pin;
   413		int triggering = ACPI_LEVEL_SENSITIVE;
   414		int polarity = ACPI_ACTIVE_LOW;
   415		char *link = NULL;
   416		char link_desc[16];
   417		int rc;
   418	
   419		pin = dev->pin;
   420		if (!pin) {
   421			ACPI_DEBUG_PRINT((ACPI_DB_INFO,
   422					  "No interrupt pin configured for device %s\n",
   423					  pci_name(dev)));
   424			return 0;
   425		}
   426	
   427		if (pci_has_managed_irq(dev))
   428			return 0;
   429	
   430		entry = acpi_pci_irq_lookup(dev, pin);
   431		if (!entry) {
   432			/*
   433			 * IDE legacy mode controller IRQs are magic. Why do compat
   434			 * extensions always make such a nasty mess.
   435			 */
   436			if (dev->class >> 8 == PCI_CLASS_STORAGE_IDE &&
   437					(dev->class & 0x05) == 0)
   438				return 0;
   439		}
   440	
   441		if (entry) {
   442			if (entry->link)
   443				gsi = acpi_pci_link_allocate_irq(entry->link,
   444								 entry->index,
   445								 &triggering, &polarity,
   446								 &link);
   447			else
   448				gsi = entry->index;
   449		} else
   450			gsi = -1;
   451	
   452		if (gsi < 0) {
   453			/*
   454			 * No IRQ known to the ACPI subsystem - maybe the BIOS /
   455			 * driver reported one, then use it. Exit in any case.
   456			 */
 > 457			if (!acpi_pci_irq_valid(dev, pin))
   458				return 0;
   459	
   460			if (acpi_isa_register_gsi(dev))

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: Binary data


[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux