Latest working kernel version: None. It is the first kernel I tried here. Earliest failing kernel version: 2.6.26-rc8-next-20080702 Distribution: Gentoo Hardware Environment: Sun Ultra 20M2: Sun MoBo, Nvidia MCP55, Dual-Core Opteron 1214, 4G RAM, nVidia Corporation G73GL [Quadro FX 560] Software Environment: gcc version 4.1.2 (Gentoo 4.1.2 p1.0.2) Target: x86_64-pc-linux-gnu CONFIG_ACPI=y CONFIG_ACPI_DOCK=y CONFIG_ACPI_BLACKLIST_YEAR=0 CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_SYSTEM=y CONFIG_PNPACPI=y Problem Description: WARNING: at nseval:159 acpi_ut_error+0x32/0xa2() Modules linked in: Pid: 1, comm: swapper Not tainted 2.6.26-rc8-next-20080702 #1 Call Trace: [<ffffffff8022f47b>] warn_on_slowpath+0x58/0x87 [<ffffffff8024ea02>] ? __lock_acquire+0xd25/0xd71 [<ffffffff8027f79e>] ? check_bytes_and_report+0x38/0xcb [<ffffffff803606c8>] ? acpi_ns_get_node+0x94/0xa4 [<ffffffff8027fbf5>] ? check_object+0x15a/0x245 [<ffffffff8027f483>] ? init_object+0x6e/0x77 [<ffffffff8024d875>] ? trace_hardirqs_on+0xd/0xf [<ffffffff80366be9>] acpi_ut_error+0x32/0xa2 [<ffffffff8024d875>] ? trace_hardirqs_on+0xd/0xf [<ffffffff803606c8>] ? acpi_ns_get_node+0x94/0xa4 [<ffffffff803606c8>] ? acpi_ns_get_node+0x94/0xa4 [<ffffffff8024d83d>] ? trace_hardirqs_on_caller+0xf9/0x124 [<ffffffff8024d875>] ? trace_hardirqs_on+0xd/0xf [<ffffffff80367740>] ? acpi_ut_copy_eobject_to_iobject+0x18c/0x20a [<ffffffff803668f1>] ? acpi_ut_valid_acpi_name+0x1f/0x3c [<ffffffff8035fefe>] acpi_ns_evaluate+0x10e/0x1b4 [<ffffffff8035fa4e>] acpi_evaluate_object+0x136/0x1f4 [<ffffffff8027fbf5>] ? check_object+0x15a/0x245 [<ffffffff8034d710>] acpi_run_osc+0xa5/0x16b [<ffffffff8034d866>] pci_osc_control_set+0x90/0xa7 [<ffffffff80349446>] aer_osc_setup+0x66/0xbc [<ffffffff80348533>] aer_init+0x9/0x1f [<ffffffff80469042>] aer_probe+0x13/0x16d [<ffffffff80347d0a>] pcie_port_probe_service+0x3a/0x84 [<ffffffff8038ed99>] driver_probe_device+0xd9/0x169 [<ffffffff8038ee78>] __driver_attach+0x4f/0x79 [<ffffffff8038ee29>] ? __driver_attach+0x0/0x79 [<ffffffff8038e3e8>] bus_for_each_dev+0x4d/0x7e [<ffffffff8038ebc7>] driver_attach+0x1c/0x1e [<ffffffff8038e876>] bus_add_driver+0xba/0x210 [<ffffffff805f2ec2>] ? aer_service_init+0x0/0x20 [<ffffffff8038f056>] driver_register+0x93/0x10a [<ffffffff805f2ec2>] ? aer_service_init+0x0/0x20 [<ffffffff803477eb>] pcie_port_service_register+0x47/0x49 [<ffffffff805f2ee0>] aer_service_init+0x1e/0x20 [<ffffffff805e0963>] kernel_init+0x142/0x29d [<ffffffff8024d83d>] ? trace_hardirqs_on_caller+0xf9/0x124 [<ffffffff8024d875>] ? trace_hardirqs_on+0xd/0xf [<ffffffff8046f968>] ? _spin_unlock_irq+0x2b/0x31 [<ffffffff8046f30e>] ? trace_hardirqs_on_thunk+0x3a/0x3f [<ffffffff8024d83d>] ? trace_hardirqs_on_caller+0xf9/0x124 [<ffffffff8020c0a8>] child_rip+0xa/0x12 [<ffffffff8020b7bf>] ? restore_args+0x0/0x30 [<ffffffff805e0821>] ? kernel_init+0x0/0x29d [<ffffffff8020c09e>] ? child_rip+0x0/0x12 ---[ end trace a7919e7f17c0a725 ]--- ACPI Error (nseval-0159): Insufficient arguments - method [_OSC] needs 5, found 4 [20080609] aer 0000:00:0a.0:pcie01: AER service couldn't init device: _OSC failed Steps to reproduce: just compile and boot it. It appears during booting. CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_HAVE_LATENCYTOP_SUPPORT=y CONFIG_FAST_CMPXCHG_LOCAL=y CONFIG_MMU=y CONFIG_ZONE_DMA=y CONFIG_GENERIC_ISA_DMA=y CONFIG_GENERIC_IOMAP=y CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ZONE_DMA32=y CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_AUDIT_ARCH=y CONFIG_ARCH_SUPPORTS_AOUT=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_GENERIC_HARDIRQS=y CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_X86_SMP=y CONFIG_X86_64_SMP=y CONFIG_X86_HT=y CONFIG_X86_BIOS_REBOOT=y CONFIG_X86_TRAMPOLINE=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_EXPERIMENTAL=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y CONFIG_IKCONFIG=y CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_RELAY=y CONFIG_NAMESPACES=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_SYSCTL=y CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_EXTRA_PASS=y CONFIG_HOTPLUG=y CONFIG_PRINTK=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y CONFIG_COMPAT_BRK=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_ANON_INODES=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y CONFIG_SHMEM=y CONFIG_VM_EVENT_COUNTERS=y CONFIG_SLUB_DEBUG=y CONFIG_SLUB=y CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y CONFIG_USE_GENERIC_SMP_HELPERS=y CONFIG_PROC_PAGE_MONITOR=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_KMOD=y CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLOCK_COMPAT=y CONFIG_IOSCHED_NOOP=y CONFIG_IOSCHED_CFQ=y CONFIG_DEFAULT_CFQ=y CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_CLASSIC_RCU=y CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y CONFIG_X86_PC=y CONFIG_HAVE_ARCH_PARSE_SRAT=y CONFIG_MK8=y CONFIG_X86_CPU=y CONFIG_X86_L1_CACHE_BYTES=64 CONFIG_X86_INTERNODE_CACHE_BYTES=64 CONFIG_X86_CMPXCHG=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_GOOD_APIC=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_TSC=y CONFIG_X86_CMPXCHG64=y CONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_HPET_TIMER=y CONFIG_DMI=y CONFIG_GART_IOMMU=y CONFIG_SWIOTLB=y CONFIG_IOMMU_HELPER=y CONFIG_NR_CPUS=4 CONFIG_PREEMPT_VOLUNTARY=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_MCE=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MSR=y CONFIG_X86_CPUID=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0xffffc10000000000 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_RESOURCES_64BIT=y CONFIG_ZONE_DMA_FLAG=1 CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_SECCOMP=y CONFIG_HZ_300=y CONFIG_HZ=300 CONFIG_SCHED_HRTICK=y CONFIG_PHYSICAL_START=0x200000 CONFIG_PHYSICAL_ALIGN=0x200000 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_PM=y CONFIG_ACPI=y CONFIG_ACPI_DOCK=y CONFIG_ACPI_BLACKLIST_YEAR=0 CONFIG_ACPI_EC=y CONFIG_ACPI_POWER=y CONFIG_ACPI_SYSTEM=y CONFIG_X86_PM_TIMER=y CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y CONFIG_PCI=y CONFIG_PCI_DIRECT=y CONFIG_PCI_MMCONFIG=y CONFIG_PCI_DOMAINS=y CONFIG_DMAR=y CONFIG_DMAR_FLOPPY_WA=y CONFIG_PCIEPORTBUS=y CONFIG_PCIEAER=y CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y CONFIG_HT_IRQ=y CONFIG_ISA_DMA_API=y CONFIG_K8_NB=y CONFIG_BINFMT_ELF=y CONFIG_COMPAT_BINFMT_ELF=y CONFIG_IA32_EMULATION=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y CONFIG_NET=y CONFIG_PACKET=y CONFIG_PACKET_MMAP=y CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_FIB_HASH=y CONFIG_TCP_CONG_CUBIC=y CONFIG_DEFAULT_TCP_CONG="cubic" CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_STANDALONE=y CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" CONFIG_PNP=y CONFIG_PNPACPI=y CONFIG_BLK_DEV=y CONFIG_HAVE_IDE=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_PROC_FS=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y CONFIG_BLK_DEV_SR_VENDOR=y CONFIG_CHR_DEV_SG=y CONFIG_SCSI_WAIT_SCAN=m CONFIG_ATA=y CONFIG_SATA_AHCI=y CONFIG_ATA_SFF=y CONFIG_SATA_NV=y CONFIG_PATA_AMD=y CONFIG_NETDEVICES=y CONFIG_NET_ETHERNET=y CONFIG_MII=y CONFIG_NET_TULIP=y CONFIG_NET_PCI=y CONFIG_FORCEDETH=y CONFIG_FORCEDETH_NAPI=y CONFIG_NETCONSOLE=y CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETPOLL=y CONFIG_NETPOLL_TRAP=y CONFIG_NET_POLL_CONTROLLER=y CONFIG_INPUT=y CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 CONFIG_INPUT_EVDEV=y CONFIG_INPUT_KEYBOARD=y CONFIG_KEYBOARD_ATKBD=y CONFIG_INPUT_MOUSE=y CONFIG_MOUSE_PS2=y CONFIG_MOUSE_PS2_ALPS=y CONFIG_MOUSE_PS2_LOGIPS2PP=y CONFIG_MOUSE_PS2_SYNAPTICS=y CONFIG_MOUSE_PS2_LIFEBOOK=y CONFIG_MOUSE_PS2_TRACKPOINT=y CONFIG_SERIO=y CONFIG_SERIO_I8042=y CONFIG_SERIO_LIBPS2=y CONFIG_VT=y CONFIG_CONSOLE_TRANSLATIONS=y CONFIG_VT_CONSOLE=y CONFIG_HW_CONSOLE=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_UNIX98_PTYS=y CONFIG_DEVPORT=y CONFIG_SSB_POSSIBLE=y CONFIG_AGP=y CONFIG_AGP_AMD64=y CONFIG_VGA_CONSOLE=y CONFIG_DUMMY_CONSOLE=y CONFIG_HID_SUPPORT=y CONFIG_HID=y CONFIG_USB_HID=y CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y CONFIG_USB_ARCH_HAS_EHCI=y CONFIG_USB=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_EDAC=y CONFIG_EDAC_DEBUG=y CONFIG_EDAC_MM_EDAC=y CONFIG_REISERFS_FS=y CONFIG_DNOTIFY=y CONFIG_INOTIFY=y CONFIG_INOTIFY_USER=y CONFIG_ISO9660_FS=y CONFIG_JOLIET=y CONFIG_ZISOFS=y CONFIG_PROC_FS=y CONFIG_PROC_KCORE=y CONFIG_PROC_SYSCTL=y CONFIG_SYSFS=y CONFIG_TMPFS=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFSD=y CONFIG_NFSD_V3=y CONFIG_LOCKD=y CONFIG_LOCKD_V4=y CONFIG_EXPORTFS=y CONFIG_NFS_COMMON=y CONFIG_SUNRPC=y CONFIG_MSDOS_PARTITION=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_UTF8=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_PRINTK_TIME=y CONFIG_FRAME_WARN=2048 CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_SHIRQ=y CONFIG_DETECT_SOFTLOCKUP=y CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_SCHED_DEBUG=y CONFIG_SLUB_DEBUG_ON=y CONFIG_DEBUG_RT_MUTEXES=y CONFIG_DEBUG_PI_LIST=y CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_MUTEXES=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y CONFIG_LOCKDEP=y CONFIG_DEBUG_LOCKDEP=y CONFIG_TRACE_IRQFLAGS=y CONFIG_DEBUG_SPINLOCK_SLEEP=y CONFIG_STACKTRACE=y CONFIG_DEBUG_BUGVERBOSE=y CONFIG_DEBUG_INFO=y CONFIG_DEBUG_VM=y CONFIG_DEBUG_WRITECOUNT=y CONFIG_DEBUG_LIST=y CONFIG_DEBUG_SG=y CONFIG_FRAME_POINTER=y CONFIG_HAVE_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_ARCH_KGDB=y CONFIG_EARLY_PRINTK=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_DEBUG_STACK_USAGE=y CONFIG_DEBUG_PAGEALLOC=y CONFIG_DEBUG_PER_CPU_MAPS=y CONFIG_DEBUG_RODATA=y CONFIG_IO_DELAY_TYPE_0X80=0 CONFIG_IO_DELAY_TYPE_0XED=1 CONFIG_IO_DELAY_TYPE_UDELAY=2 CONFIG_IO_DELAY_TYPE_NONE=3 CONFIG_IO_DELAY_0X80=y CONFIG_DEFAULT_IO_DELAY_TYPE=0 CONFIG_HAVE_KVM=y CONFIG_BITREVERSE=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_CRC32=y CONFIG_ZLIB_INFLATE=y CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y CONFIG_HAS_DMA=y
Please post the acpidump for the machine. What this error means is that the _OSC method on your machined defines 5 arguments, but is being called with only 4 arguments. It turns out that _OSC is *supposed* to have 4 arguments, so the call is is correct; it is the ASL on the machine that appears incorrect. From ACPI spec: _OSC - Operating System Capabilities Arguments: (4) Arg0 – A Buffer containing a UUID Arg1 – An Integer containing a Revision ID of the buffer format Arg2 – An Integer containg a count of entries in Arg3 Arg3 – A Buffer containing a list of DWORD capabilites Return Value: A Buffer containing a list of capabilities
Created attachment 16728 [details] acpidump output, gzipped
Here is the offending code: Method (_OSC, 5, NotSerialized) { Return (0x00) } the 5 should be a 4. You can make this change and override your DSDT. We may have to make this situation a warning instead of an error.
Where I should change it? I can not find such line.
it's in the DSDT. run acpixtract on the acpidump, this will produce a file containing the DSDT run iasl -d on the dsdt.dat file to get the disassembled ASl file
We may want to change this error to just a warning. In this case, the number of arguments doesn't really matter since the method just returns zero and never looks at the arguments.
I think we should drop the WARN_ON at least since AML can trigger this legitimately.
Linus's tree does not have a warn_on_slowpath in acpi_ut_error. It's from Andrew's mm tree.
Created attachment 17315 [details] proposed patch change error to warning if too few arguments were passed in
Created attachment 17320 [details] proposed patch wrong patch attached at comment #8, try this one. change error to warning if too few arguments were passed in
patch available at ACPICA git tree.
applied to acpi-test
shipped in linux-2.6l.28-rc1 closed commit 93851b4d13de48753eaae76ed190eef7355e2c19 Author: Lin Ming <ming.m.lin@intel.com> Date: Sat Sep 27 10:38:07 2008 +0800 ACPICA: Reduce error to warning for incorrect method arg count Previously aborted with error if too few arguments were passed to a control method via the external ACPICA interface. Now issue a warning instead and continue. Handles the case where the method inadvertently declares too many arguments, but does not actually use the extra ones. Applies mainly to the predefined methods.