* [bug] sound: INFO: possible recursive locking detected
@ 2009-01-08 15:20 Ingo Molnar
2009-01-08 15:39 ` Takashi Iwai
2009-01-09 5:06 ` Wu Fengguang
0 siblings, 2 replies; 12+ messages in thread
From: Ingo Molnar @ 2009-01-08 15:20 UTC (permalink / raw)
To: Takashi Iwai; +Cc: linux-kernel, Peter Zijlstra, Wu Fengguang
[-- Attachment #1: Type: text/plain, Size: 5040 bytes --]
FYI, -tip testing found this new lockdep workqueue locking assert
triggered by the Intel HDA sound driver:
[ 30.637612] alloc kstat_irqs on cpu 0 node 0
[ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1)
[ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64
[ 30.667801] chipset global capabilities = 0x4401
[ 30.701090] codec_mask = 0x4
[ 30.701090] hda_intel: codec #2 probed OK
[ 30.709090] hda-codec: No codec parser is available
[ 30.714396] hda-intel: no codecs initialized
[ 30.718689]
[ 30.718689] =============================================
[ 30.718689] [ INFO: possible recursive locking detected ]
[ 30.718689] 2.6.28-tip #2
[ 30.718689] ---------------------------------------------
[ 30.718689] events/0/7 is trying to acquire lock:
[ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90
[ 30.718689]
[ 30.718689] but task is already holding lock:
[ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240
[ 30.718689]
[ 30.718689] other info that might help us debug this:
[ 30.718689] 2 locks held by events/0/7:
[ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240
[ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240
[ 30.718689]
[ 30.718689] stack backtrace:
[ 30.718689] Pid: 7, comm: events/0 Not tainted 2.6.28-tip #2
[ 30.718689] Call Trace:
[ 30.718689] [<ffffffff80295836>] validate_chain+0xc56/0x1340
[ 30.718689] [<ffffffff802974e6>] __lock_acquire+0x376/0x610
[ 30.718689] [<ffffffff80297819>] lock_acquire+0x99/0xd0
[ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90
[ 30.718689] [<ffffffff80281091>] flush_workqueue+0x41/0x90
[ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90
[ 30.718689] [<ffffffff802810f5>] flush_scheduled_work+0x15/0x20
[ 30.718689] [<ffffffff80c59794>] azx_clear_irq_pending+0x54/0x60
[ 30.718689] [<ffffffff80c599ec>] azx_free+0x10c/0x160
[ 30.718689] [<ffffffff80bae9ad>] ? snd_device_free+0x8d/0x100
[ 30.718689] [<ffffffff80c59a52>] azx_dev_free+0x12/0x20
[ 30.718689] [<ffffffff80bae9a1>] snd_device_free+0x81/0x100
[ 30.718689] [<ffffffff80baea89>] snd_device_free_all+0x69/0xa0
[ 30.718689] [<ffffffff80ba8a70>] snd_card_do_free+0x50/0xd0
[ 30.718689] [<ffffffff80ba9602>] snd_card_free+0xa2/0xc0
[ 30.718689] [<ffffffff8061115f>] ? __delay+0xf/0x20
[ 30.718689] [<ffffffff80edbb6a>] azx_probe+0x38a/0x9f0
[ 30.718689] [<ffffffff80c5a240>] ? azx_send_cmd+0x0/0x130
[ 30.718689] [<ffffffff80c5a370>] ? azx_get_response+0x0/0x210
[ 30.718689] [<ffffffff80c59b70>] ? azx_attach_pcm_stream+0x0/0x1b0
[ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30
[ 30.718689] [<ffffffff80634807>] local_pci_probe+0x17/0x20
[ 30.718689] [<ffffffff802804e8>] do_work_for_cpu+0x18/0x30
[ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30
[ 30.718689] [<ffffffff802807bb>] run_workqueue+0x19b/0x240
[ 30.718689] [<ffffffff8028076a>] ? run_workqueue+0x14a/0x240
[ 30.718689] [<ffffffff802809cf>] worker_thread+0xaf/0x110
[ 30.718689] [<ffffffff80284e20>] ? autoremove_wake_function+0x0/0x40
[ 30.718689] [<ffffffff80280920>] ? worker_thread+0x0/0x110
[ 30.718689] [<ffffffff802848e3>] kthread+0x53/0x80
[ 30.718689] [<ffffffff8022c3aa>] child_rip+0xa/0x20
[ 30.718689] [<ffffffff8022bcbe>] ? restore_args+0x0/0x30
[ 30.718689] [<ffffffff80284890>] ? kthread+0x0/0x80
[ 30.718689] [<ffffffff8022c3a0>] ? child_rip+0x0/0x20
[ 30.993230] HDA Intel 0000:00:1b.0: PCI INT A disabled
[ 30.998430] initcall alsa_card_azx_init+0x0/0x20 returned 0 after 372964 usecs
[ 31.005810] calling alsa_card_korg1212_init+0x0/0x20 @ 1
[ 31.011225] bus: 'pci': add driver korg1212
config attached.
Today is the first time i saw this bug, so i guess the guilty commit is
one of:
8326e32: Merge branch 'topic/hda-resume-fix' into topic/hda
d4d9cd03: ALSA: hda - Add probe_only option
0ff5551: Merge branch 'fix/hda' into topic/hda
5c0b9be: ALSA: hda - Fix a compile warning when CONFIG_PM=n
32e176c: Sound: hda - Restore PCI configuration space with interrupts off
11cd41b: ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE
fee2fba: ALSA: hda - Move power_save option to hda_intel.c
986862b: ALSA: hda - make some functions static
ef1681d: ALSA: hda - Add probe_mask quirk for Medion MD96630
41dda0f: ALSA: azx_probe() cleanup
c4da29c: ALSA: hda - support detecting HD Audio devices with PCI class code
0edb945: ALSA: hda - Fix probe errors on Dell Studio Desktop
6ce4a3b: ALSA: hda - Make codec-probing more robust
33fa35e: ALSA: hda - simplify hda_bus ops callbacks
afecd78c: Merge branch 'topic/fix/hda' into topic/hda
34c2535: ALSA: hda - Remove old codec-probe limitation
176d533: ALSA: hda - Add infrastructure for dynamic stream allocation
Ingo
[-- Attachment #2: config --]
[-- Type: text/plain, Size: 64552 bytes --]
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.28
# Thu Jan 8 15:07:44 2009
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
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_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
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_DEFAULT_IDLE=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_OPTIMIZED_INLINING=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_X86_SMP=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_X86_TRAMPOLINE=y
# CONFIG_KTIME_SCALAR is not set
CONFIG_BOOTPARAM_SUPPORT=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
#
# General setup
#
CONFIG_EXPERIMENTAL=y
# CONFIG_BROKEN_BOOT_ALLOWED4 is not set
# CONFIG_BROKEN_BOOT_EUROPE is not set
# CONFIG_BROKEN_BOOT_TITAN is not set
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_TASKSTATS=y
# CONFIG_TASK_DELAY_ACCT is not set
CONFIG_TASK_XACCT=y
# CONFIG_TASK_IO_ACCOUNTING is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=20
CONFIG_CGROUPS=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_CGROUP_NS is not set
# CONFIG_CGROUP_FREEZER is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_GROUP_SCHED is not set
CONFIG_CGROUP_CPUACCT=y
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_SYSFS_DEPRECATED_V2 is not set
CONFIG_PROC_PID_CPUSET=y
CONFIG_RELAY=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_STRIP_GENERATED=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_AIO=y
CONFIG_HAVE_PERF_COUNTERS=y
#
# Performance Counters
#
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PCI_QUIRKS=y
CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
CONFIG_MARKERS=y
CONFIG_OPROFILE=y
# CONFIG_OPROFILE_IBS is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_STOP_MACHINE=y
CONFIG_BLOCK=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
CONFIG_FREEZER=y
#
# Processor type and features
#
# CONFIG_NO_HZ is not set
# CONFIG_BOOTPARAM_NO_HZ_OFF is not set
# CONFIG_HIGH_RES_TIMERS is not set
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_BOOTPARAM_HIGHRES_OFF=y
# CONFIG_SMP_SUPPORT is not set
CONFIG_SPARSE_IRQ=y
# CONFIG_NUMA_MIGRATE_IRQ_DESC is not set
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
CONFIG_UP_WANTED_1=y
# CONFIG_UP_WANTED_2 is not set
CONFIG_SMP=y
CONFIG_X86_PC=y
# CONFIG_X86_ELAN is not set
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_GENERICARCH is not set
# CONFIG_X86_VSMP is not set
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
CONFIG_PARAVIRT_GUEST=y
# CONFIG_XEN is not set
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_MEMTEST=y
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUMM is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MK8 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MEFFICEON is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
# CONFIG_MGEODE_LX is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
CONFIG_X86_L1_CACHE_BYTES=128
CONFIG_X86_INTERNODE_CACHE_BYTES=128
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR_64=y
# CONFIG_X86_DS is not set
# CONFIG_X86_PTRACE_BTS is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
CONFIG_AMD_IOMMU=y
# CONFIG_AMD_IOMMU_STATS is not set
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_IOMMU_API=y
# CONFIG_MAXSMP is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
# CONFIG_X86_MCE is not set
CONFIG_I8K=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y
# CONFIG_X86_MSR is not set
CONFIG_X86_CPUID=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_DIRECT_GBPAGES=y
CONFIG_NUMA=y
# CONFIG_K8_NUMA is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=6
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
#
# Memory hotplug is currently incompatible with Software Suspend
#
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_UNEVICTABLE_LRU is not set
CONFIG_MMU_NOTIFIER=y
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
CONFIG_X86_RESERVE_LOW_64K=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_EFI=y
# CONFIG_SECCOMP is not set
CONFIG_CC_STACKPROTECTOR_ALL=y
CONFIG_CC_STACKPROTECTOR=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
# CONFIG_SCHED_HRTICK is not set
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x200000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_HOTPLUG_CPU=y
CONFIG_COMPAT_VDSO=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
# CONFIG_SUSPEND is not set
CONFIG_HIBERNATION=y
CONFIG_PM_STD_PARTITION=""
CONFIG_ACPI=y
CONFIG_ACPI_SLEEP=y
# CONFIG_ACPI_PROCFS is not set
CONFIG_ACPI_PROCFS_POWER=y
CONFIG_ACPI_SYSFS_POWER=y
CONFIG_ACPI_PROC_EVENT=y
CONFIG_ACPI_AC=y
# CONFIG_ACPI_BATTERY is not set
CONFIG_ACPI_BUTTON=y
# CONFIG_ACPI_VIDEO is not set
CONFIG_ACPI_FAN=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_WMI=y
CONFIG_ACPI_ASUS=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_CUSTOM_DSDT is not set
CONFIG_ACPI_BLACKLIST_YEAR=0
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_DEBUG_FUNC_TRACE=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_SYSTEM=y
CONFIG_X86_PM_TIMER=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_SBS=y
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set
# CONFIG_BOOTPARAM_NMI_WATCHDOG_BIT_0 is not set
CONFIG_BOOTPARAM_NOLAPIC_TIMER=y
# CONFIG_BOOTPARAM_LAPIC is not set
CONFIG_BOOTPARAM_HPET_DISABLE=y
CONFIG_BOOTPARAM_IDLE_MWAIT=y
CONFIG_BOOTPARAM_IDLE_POLL=y
CONFIG_BOOTPARAM_HIGHMEM_512M=y
CONFIG_BOOTPARAM_NOPAT=y
CONFIG_BOOTPARAM_NOTSC=y
CONFIG_BOOTPARAM_PCI_NOMSI=y
#
# Bus options (PCI etc.)
#
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
# CONFIG_DMAR is not set
# CONFIG_INTR_REMAP is not set
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEBUG=y
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
CONFIG_PCI_LEGACY=y
CONFIG_PCI_DEBUG=y
CONFIG_PCI_STUB=y
# CONFIG_HT_IRQ is not set
CONFIG_ISA_DMA_API=y
CONFIG_K8_NB=y
CONFIG_PCCARD=y
CONFIG_PCMCIA_DEBUG=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
CONFIG_CARDBUS=y
#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
# CONFIG_PD6729 is not set
CONFIG_I82092=y
CONFIG_PCCARD_NONSTATIC=y
# CONFIG_HOTPLUG_PCI is not set
#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
CONFIG_IA32_EMULATION=y
CONFIG_IA32_AOUT=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_NET=y
#
# Networking options
#
CONFIG_NET_NS=y
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
# CONFIG_XFRM_USER is not set
# CONFIG_XFRM_SUB_POLICY is not set
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
# CONFIG_IP_FIB_TRIE is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_MULTIPLE_TABLES is not set
CONFIG_IP_ROUTE_MULTIPATH=y
# CONFIG_IP_ROUTE_VERBOSE is not set
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
# CONFIG_IP_MROUTE is not set
CONFIG_ARPD=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_LRO=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_ADVANCED=y
# CONFIG_TCP_CONG_BIC is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
# CONFIG_TCP_CONG_HYBLA is not set
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_SCALABLE=y
# CONFIG_TCP_CONG_LP is not set
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
# CONFIG_TCP_CONG_ILLINOIS is not set
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
CONFIG_IPV6=y
CONFIG_IPV6_PRIVACY=y
# CONFIG_IPV6_ROUTER_PREF is not set
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
# CONFIG_INET6_IPCOMP is not set
# CONFIG_IPV6_MIP6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
CONFIG_INET6_TUNNEL=y
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
CONFIG_INET6_XFRM_MODE_TUNNEL=y
CONFIG_INET6_XFRM_MODE_BEET=y
# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
CONFIG_IPV6_SIT=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_NETLABEL is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
CONFIG_NETFILTER_DEBUG=y
CONFIG_NETFILTER_ADVANCED=y
#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CT_ACCT=y
CONFIG_NF_CONNTRACK_MARK=y
# CONFIG_NF_CONNTRACK_EVENTS is not set
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
# CONFIG_NF_CT_PROTO_SCTP is not set
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
CONFIG_NF_CONNTRACK_PPTP=y
# CONFIG_NF_CONNTRACK_SANE is not set
CONFIG_NF_CONNTRACK_SIP=y
# CONFIG_NF_CONNTRACK_TFTP is not set
# CONFIG_NF_CT_NETLINK is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set
# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
CONFIG_NETFILTER_XT_MATCH_ESP=y
# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
CONFIG_NETFILTER_XT_MATCH_MARK=y
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
CONFIG_NETFILTER_XT_MATCH_POLICY=y
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
# CONFIG_NETFILTER_XT_MATCH_STATE is not set
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12
#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
# CONFIG_IP_VS_PROTO_UDP is not set
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
#
# IPVS scheduler
#
# CONFIG_IP_VS_RR is not set
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
# CONFIG_IP_VS_SH is not set
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_CONNTRACK_IPV4=y
# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set
CONFIG_IP_NF_QUEUE=y
# CONFIG_IP_NF_IPTABLES is not set
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
# CONFIG_IP_NF_ARP_MANGLE is not set
#
# IPv6: Netfilter Configuration
#
CONFIG_NF_CONNTRACK_IPV6=y
CONFIG_IP6_NF_QUEUE=y
# CONFIG_IP6_NF_IPTABLES is not set
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y
#
# DCCP CCIDs Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP_CCID2_DEBUG=y
# CONFIG_IP_DCCP_CCID3 is not set
#
# DCCP Kernel Hacking
#
CONFIG_IP_DCCP_DEBUG=y
CONFIG_IP_SCTP=y
# CONFIG_SCTP_DBG_MSG is not set
CONFIG_SCTP_DBG_OBJCNT=y
# CONFIG_SCTP_HMAC_NONE is not set
# CONFIG_SCTP_HMAC_SHA1 is not set
CONFIG_SCTP_HMAC_MD5=y
CONFIG_TIPC=y
# CONFIG_TIPC_ADVANCED is not set
CONFIG_TIPC_DEBUG=y
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y
CONFIG_NET_DSA_MV88E6131=y
CONFIG_NET_DSA_MV88E6123_61_65=y
CONFIG_VLAN_8021Q=y
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_DECNET is not set
CONFIG_LLC=y
CONFIG_LLC2=y
CONFIG_IPX=y
CONFIG_IPX_INTERN=y
CONFIG_ATALK=y
CONFIG_DEV_APPLETALK=y
CONFIG_IPDDP=y
# CONFIG_IPDDP_ENCAP is not set
CONFIG_IPDDP_DECAP=y
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_ECONET=y
# CONFIG_ECONET_AUNUDP is not set
CONFIG_ECONET_NATIVE=y
CONFIG_WAN_ROUTER=y
# CONFIG_NET_SCHED is not set
CONFIG_NET_CLS_ROUTE=y
CONFIG_DCB=y
#
# Network testing
#
CONFIG_NET_PKTGEN=y
# CONFIG_HAMRADIO is not set
CONFIG_CAN=y
# CONFIG_CAN_RAW is not set
CONFIG_CAN_BCM=y
#
# CAN Device Drivers
#
# CONFIG_CAN_VCAN is not set
CONFIG_CAN_DEBUG_DEVICES=y
CONFIG_IRDA=y
#
# IrDA protocols
#
CONFIG_IRLAN=y
CONFIG_IRNET=y
# CONFIG_IRCOMM is not set
# CONFIG_IRDA_ULTRA is not set
#
# IrDA options
#
# CONFIG_IRDA_CACHE_LAST_LSAP is not set
# CONFIG_IRDA_FAST_RR is not set
CONFIG_IRDA_DEBUG=y
#
# Infrared-port device drivers
#
#
# SIR device drivers
#
CONFIG_IRTTY_SIR=y
#
# Dongle support
#
CONFIG_DONGLE=y
CONFIG_ESI_DONGLE=y
# CONFIG_ACTISYS_DONGLE is not set
CONFIG_TEKRAM_DONGLE=y
CONFIG_TOIM3232_DONGLE=y
# CONFIG_LITELINK_DONGLE is not set
# CONFIG_MA600_DONGLE is not set
CONFIG_GIRBIL_DONGLE=y
CONFIG_MCP2120_DONGLE=y
# CONFIG_OLD_BELKIN_DONGLE is not set
CONFIG_ACT200L_DONGLE=y
# CONFIG_KINGSUN_DONGLE is not set
# CONFIG_KSDAZZLE_DONGLE is not set
CONFIG_KS959_DONGLE=y
#
# FIR device drivers
#
CONFIG_USB_IRDA=y
CONFIG_SIGMATEL_FIR=y
# CONFIG_NSC_FIR is not set
# CONFIG_WINBOND_FIR is not set
CONFIG_SMC_IRCC_FIR=y
CONFIG_ALI_FIR=y
CONFIG_VLSI_FIR=y
CONFIG_VIA_FIR=y
CONFIG_MCS_FIR=y
# CONFIG_BT is not set
CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_DEBUG=y
# CONFIG_RXKAD is not set
CONFIG_PHONET=y
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
CONFIG_CFG80211_REG_DEBUG=y
CONFIG_NL80211=y
CONFIG_WIRELESS_OLD_REGULATORY=y
CONFIG_WIRELESS_EXT=y
# CONFIG_WIRELESS_EXT_SYSFS is not set
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
CONFIG_MAC80211=y
#
# Rate control algorithm selection
#
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_DEBUG_MENU=y
CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y
CONFIG_MAC80211_NOINLINE=y
CONFIG_MAC80211_VERBOSE_DEBUG=y
CONFIG_MAC80211_HT_DEBUG=y
# CONFIG_MAC80211_TKIP_DEBUG is not set
# CONFIG_MAC80211_IBSS_DEBUG is not set
# CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set
# CONFIG_MAC80211_DEBUG_COUNTERS is not set
CONFIG_MAC80211_VERBOSE_SPECT_MGMT_DEBUG=y
CONFIG_WIMAX=y
CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=y
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL_LEDS=y
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_CONNECTOR=y
# CONFIG_PROC_EVENTS is not set
CONFIG_PARPORT=y
# CONFIG_PARPORT_PC is not set
# CONFIG_PARPORT_GSC is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set
#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_CPQ_DA=y
# CONFIG_BLK_CPQ_CISS_DA is not set
CONFIG_BLK_DEV_DAC960=y
CONFIG_BLK_DEV_UMEM=y
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_CRYPTOLOOP=y
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_SX8=y
CONFIG_BLK_DEV_UB=y
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=y
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_HD=y
CONFIG_MISC_DEVICES=y
CONFIG_IBM_ASM=y
CONFIG_PHANTOM=y
CONFIG_EEPROM_93CX6=y
CONFIG_SGI_IOC4=y
CONFIG_TIFM_CORE=y
CONFIG_TIFM_7XX1=y
# CONFIG_ACER_WMI is not set
CONFIG_FUJITSU_LAPTOP=y
CONFIG_FUJITSU_LAPTOP_DEBUG=y
# CONFIG_HP_WMI is not set
CONFIG_ICS932S401=y
# CONFIG_MSI_LAPTOP is not set
CONFIG_PANASONIC_LAPTOP=y
CONFIG_COMPAL_LAPTOP=y
CONFIG_SONY_LAPTOP=y
# CONFIG_SONYPI_COMPAT is not set
# CONFIG_THINKPAD_ACPI is not set
CONFIG_INTEL_MENLOW=y
# CONFIG_EEEPC_LAPTOP is not set
CONFIG_ENCLOSURE_SERVICES=y
CONFIG_SGI_XP=y
CONFIG_HP_ILO=y
CONFIG_SGI_GRU=y
CONFIG_SGI_GRU_DEBUG=y
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y
CONFIG_HAVE_IDE=y
#
# SCSI device support
#
CONFIG_RAID_ATTRS=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_TGT=y
# CONFIG_SCSI_NETLINK is not set
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_CHR_DEV_OSST=y
CONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not set
# CONFIG_CHR_DEV_SG is not set
# CONFIG_CHR_DEV_SCH is not set
CONFIG_SCSI_ENCLOSURE=y
#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y
#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SRP_ATTRS=y
# CONFIG_SCSI_SRP_TGT_ATTRS is not set
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_SCSI_AIC7XXX=y
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
# CONFIG_SCSI_DH is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_ATA_ACPI=y
CONFIG_SATA_PMP=y
CONFIG_SATA_AHCI=y
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y
# CONFIG_SATA_SVW is not set
CONFIG_ATA_PIIX=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_PROMISE=y
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
CONFIG_SATA_SIS=y
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=y
# CONFIG_SATA_VITESSE is not set
CONFIG_SATA_INIC162X=y
CONFIG_PATA_ACPI=y
CONFIG_PATA_ALI=y
CONFIG_PATA_AMD=y
CONFIG_PATA_ARTOP=y
CONFIG_PATA_ATIIXP=y
CONFIG_PATA_CMD640_PCI=y
# CONFIG_PATA_CMD64X is not set
CONFIG_PATA_CS5520=y
# CONFIG_PATA_CS5530 is not set
CONFIG_PATA_CYPRESS=y
CONFIG_PATA_EFAR=y
CONFIG_ATA_GENERIC=y
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
# CONFIG_PATA_HPT3X2N is not set
CONFIG_PATA_HPT3X3=y
# CONFIG_PATA_HPT3X3_DMA is not set
# CONFIG_PATA_IT821X is not set
CONFIG_PATA_IT8213=y
CONFIG_PATA_JMICRON=y
CONFIG_PATA_TRIFLEX=y
CONFIG_PATA_MARVELL=y
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_NETCELL=y
CONFIG_PATA_NINJA32=y
CONFIG_PATA_NS87410=y
# CONFIG_PATA_NS87415 is not set
CONFIG_PATA_OPTI=y
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PCMCIA is not set
CONFIG_PATA_PDC_OLD=y
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RZ1000=y
CONFIG_PATA_SC1200=y
# CONFIG_PATA_SERVERWORKS is not set
CONFIG_PATA_PDC2027X=y
CONFIG_PATA_SIL680=y
CONFIG_PATA_SIS=y
# CONFIG_PATA_VIA is not set
CONFIG_PATA_WINBOND=y
CONFIG_PATA_SCH=y
CONFIG_MD=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_DM=y
CONFIG_DM_DEBUG=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
# CONFIG_DM_DELAY is not set
# CONFIG_DM_UEVENT is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
#
# Enable only one of the two stacks, unless you know what you are doing
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_OHCI_DEBUG=y
# CONFIG_FIREWIRE_SBP2 is not set
# CONFIG_IEEE1394 is not set
CONFIG_I2O=y
CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y
# CONFIG_I2O_EXT_ADAPTEC is not set
CONFIG_I2O_BUS=y
CONFIG_I2O_BLOCK=y
# CONFIG_I2O_SCSI is not set
CONFIG_I2O_PROC=y
CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
CONFIG_BONDING=y
CONFIG_MACVLAN=y
CONFIG_EQUALIZER=y
CONFIG_TUN=y
CONFIG_VETH=y
# CONFIG_NET_SB1000 is not set
CONFIG_ARCNET=y
CONFIG_ARCNET_1201=y
CONFIG_ARCNET_1051=y
CONFIG_ARCNET_RAW=y
# CONFIG_ARCNET_CAP is not set
# CONFIG_ARCNET_COM90xx is not set
# CONFIG_ARCNET_COM90xxIO is not set
CONFIG_ARCNET_RIM_I=y
# CONFIG_ARCNET_COM20020 is not set
CONFIG_PHYLIB=y
#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
CONFIG_QSEMI_PHY=y
CONFIG_LXT_PHY=y
CONFIG_CICADA_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_SMSC_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
CONFIG_REALTEK_PHY=y
CONFIG_NATIONAL_PHY=y
CONFIG_STE10XP=y
CONFIG_LSI_ET1011C_PHY=y
# CONFIG_FIXED_PHY is not set
CONFIG_MDIO_BITBANG=y
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
CONFIG_SUNGEM=y
# CONFIG_CASSINI is not set
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
CONFIG_ENC28J60=y
CONFIG_ENC28J60_WRITEVERIFY=y
CONFIG_NET_TULIP=y
# CONFIG_DE2104X is not set
CONFIG_TULIP=y
CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
# CONFIG_TULIP_NAPI is not set
CONFIG_DE4X5=y
CONFIG_WINBOND_840=y
CONFIG_DM9102=y
# CONFIG_ULI526X is not set
# CONFIG_PCMCIA_XIRCOM is not set
CONFIG_HP100=y
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
# CONFIG_AMD8111_ETH is not set
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_B44=y
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_FORCEDETH=y
# CONFIG_FORCEDETH_NAPI is not set
CONFIG_E100=y
CONFIG_FEALNX=y
CONFIG_NATSEMI=y
CONFIG_NE2K_PCI=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_R6040 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SMSC9420 is not set
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_TLAN=y
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_SC92031=y
# CONFIG_NET_POCKET is not set
CONFIG_ATL2=y
CONFIG_NETDEV_1000=y
CONFIG_ACENIC=y
CONFIG_ACENIC_OMIT_TIGON_I=y
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
CONFIG_E1000E=y
CONFIG_IP1000=y
# CONFIG_IGB is not set
CONFIG_NS83820=y
CONFIG_HAMACHI=y
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
CONFIG_VIA_VELOCITY=y
CONFIG_TIGON3=y
CONFIG_BNX2=y
CONFIG_QLA3XXX=y
CONFIG_ATL1=y
# CONFIG_ATL1E is not set
# CONFIG_JME is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
#
# Wireless LAN
#
CONFIG_WLAN_PRE80211=y
CONFIG_STRIP=y
# CONFIG_PCMCIA_WAVELAN is not set
CONFIG_PCMCIA_NETWAVE=y
CONFIG_WLAN_80211=y
CONFIG_PCMCIA_RAYCS=y
# CONFIG_LIBERTAS is not set
# CONFIG_LIBERTAS_THINFIRM is not set
CONFIG_AIRO=y
CONFIG_HERMES=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=y
CONFIG_TMD_HERMES=y
CONFIG_NORTEL_HERMES=y
CONFIG_PCI_HERMES=y
CONFIG_PCMCIA_HERMES=y
CONFIG_PCMCIA_SPECTRUM=y
CONFIG_ATMEL=y
CONFIG_PCI_ATMEL=y
CONFIG_PCMCIA_ATMEL=y
# CONFIG_AIRO_CS is not set
CONFIG_PCMCIA_WL3501=y
CONFIG_PRISM54=y
CONFIG_USB_ZD1201=y
CONFIG_USB_NET_RNDIS_WLAN=y
# CONFIG_RTL8180 is not set
CONFIG_RTL8187=y
# CONFIG_ADM8211 is not set
# CONFIG_MAC80211_HWSIM is not set
CONFIG_P54_COMMON=y
CONFIG_P54_USB=y
# CONFIG_P54_PCI is not set
CONFIG_ATH5K=y
# CONFIG_ATH5K_DEBUG is not set
CONFIG_ATH9K=y
CONFIG_ATH9K_DEBUG=y
# CONFIG_IPW2100 is not set
CONFIG_IPW2200=y
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_DEBUG=y
CONFIG_LIBIPW=y
CONFIG_LIBIPW_DEBUG=y
CONFIG_IWLWIFI=y
CONFIG_IWLCORE=y
# CONFIG_IWLWIFI_LEDS is not set
# CONFIG_IWLWIFI_RFKILL is not set
CONFIG_IWLWIFI_DEBUG=y
CONFIG_IWLWIFI_DEBUGFS=y
CONFIG_IWLAGN=y
CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y
# CONFIG_IWLAGN_LEDS is not set
# CONFIG_IWL4965 is not set
# CONFIG_IWL5000 is not set
# CONFIG_IWL3945 is not set
CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
# CONFIG_HOSTAP_PLX is not set
CONFIG_HOSTAP_PCI=y
CONFIG_HOSTAP_CS=y
CONFIG_B43=y
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_PIO=y
CONFIG_B43_LEDS=y
CONFIG_B43_RFKILL=y
CONFIG_B43_DEBUG=y
CONFIG_B43_FORCE_PIO=y
# CONFIG_B43LEGACY is not set
# CONFIG_ZD1211RW is not set
#
# WiMAX Wireless Broadband devices
#
#
# Enable MMC support to see WiMAX SDIO drivers
#
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
# CONFIG_USB_RTL8150 is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_CDCETHER=y
# CONFIG_USB_NET_DM9601 is not set
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
# CONFIG_USB_NET_NET1080 is not set
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
# CONFIG_USB_NET_CDC_SUBSET is not set
CONFIG_USB_NET_ZAURUS=y
# CONFIG_USB_HSO is not set
CONFIG_NET_PCMCIA=y
CONFIG_PCMCIA_3C589=y
CONFIG_PCMCIA_3C574=y
CONFIG_PCMCIA_FMVJ18X=y
CONFIG_PCMCIA_PCNET=y
CONFIG_PCMCIA_NMCLAN=y
CONFIG_PCMCIA_SMC91C92=y
# CONFIG_PCMCIA_XIRC2PS is not set
CONFIG_PCMCIA_AXNET=y
CONFIG_WAN=y
CONFIG_LANMEDIA=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
# CONFIG_HDLC_RAW_ETH is not set
# CONFIG_HDLC_CISCO is not set
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
# CONFIG_HDLC_X25 is not set
CONFIG_PCI200SYN=y
# CONFIG_WANXL is not set
CONFIG_PC300TOO=y
# CONFIG_FARSYNC is not set
CONFIG_DLCI=y
CONFIG_DLCI_MAX=8
CONFIG_WAN_ROUTER_DRIVERS=y
CONFIG_CYCLADES_SYNC=y
# CONFIG_CYCLOMX_X25 is not set
CONFIG_LAPBETHER=y
CONFIG_X25_ASY=y
# CONFIG_SBNI is not set
# CONFIG_FDDI is not set
CONFIG_HIPPI=y
# CONFIG_ROADRUNNER is not set
CONFIG_PLIP=y
CONFIG_PPP=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_MPPE=y
CONFIG_PPPOE=y
# CONFIG_PPPOL2TP is not set
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLHC=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
# CONFIG_NET_FC is not set
CONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not set
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_VIRTIO_NET=y
CONFIG_ISDN=y
# CONFIG_ISDN_I4L is not set
CONFIG_ISDN_CAPI=y
CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_ISDN_CAPI_CAPI20=y
# CONFIG_ISDN_CAPI_CAPIFS_BOOL is not set
#
# CAPI hardware drivers
#
# CONFIG_CAPI_AVM is not set
# CONFIG_CAPI_EICON is not set
CONFIG_PHONE=y
#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
CONFIG_KEYBOARD_LKKBD=y
CONFIG_KEYBOARD_XTKBD=y
CONFIG_KEYBOARD_NEWTON=y
CONFIG_KEYBOARD_STOWAWAY=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_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_GTCO=y
# CONFIG_TABLET_USB_KBTAB is not set
CONFIG_TABLET_USB_WACOM=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ADS7846=y
CONFIG_TOUCHSCREEN_DA9034=y
CONFIG_TOUCHSCREEN_FUJITSU=y
CONFIG_TOUCHSCREEN_GUNZE=y
CONFIG_TOUCHSCREEN_ELO=y
CONFIG_TOUCHSCREEN_WACOM_W8001=y
# CONFIG_TOUCHSCREEN_MTOUCH is not set
CONFIG_TOUCHSCREEN_INEXIO=y
CONFIG_TOUCHSCREEN_MK712=y
CONFIG_TOUCHSCREEN_PENMOUNT=y
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_WM97XX is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
CONFIG_TOUCHSCREEN_TOUCHIT213=y
# CONFIG_TOUCHSCREEN_TSC2007 is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_APANEL=y
CONFIG_INPUT_ATLAS_BTNS=y
# CONFIG_INPUT_ATI_REMOTE is not set
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
# CONFIG_INPUT_CM109 is not set
# CONFIG_INPUT_UINPUT is not set
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
# CONFIG_SERIO_PARKBD is not set
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
# CONFIG_GAMEPORT_L4 is not set
# CONFIG_GAMEPORT_EMU10K1 is not set
CONFIG_GAMEPORT_FM801=y
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_NOZOMI=y
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_PRINTER=y
CONFIG_LP_CONSOLE=y
# CONFIG_PPDEV is not set
CONFIG_HVC_DRIVER=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_PANIC_EVENT=y
# CONFIG_IPMI_PANIC_STRING is not set
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_WATCHDOG=y
# CONFIG_IPMI_POWEROFF is not set
CONFIG_HW_RANDOM=y
# CONFIG_HW_RANDOM_INTEL is not set
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_NVRAM=y
CONFIG_RTC=y
CONFIG_R3964=y
CONFIG_APPLICOM=y
#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=y
# CONFIG_CARDMAN_4000 is not set
CONFIG_CARDMAN_4040=y
CONFIG_IPWIRELESS=y
# CONFIG_MWAVE is not set
# CONFIG_PC8736x_GPIO is not set
# CONFIG_RAW_DRIVER is not set
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS=y
CONFIG_TCG_NSC=y
CONFIG_TCG_ATMEL=y
CONFIG_TCG_INFINEON=y
CONFIG_TELCLOCK=y
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCA=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
CONFIG_I2C_ALI1563=y
# CONFIG_I2C_ALI15X3 is not set
CONFIG_I2C_AMD756=y
# CONFIG_I2C_AMD8111 is not set
CONFIG_I2C_I801=y
CONFIG_I2C_ISCH=y
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
CONFIG_I2C_SIS5595=y
CONFIG_I2C_SIS630=y
CONFIG_I2C_SIS96X=y
CONFIG_I2C_VIA=y
# CONFIG_I2C_VIAPRO is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_SIMTEC is not set
#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT=y
CONFIG_I2C_PARPORT_LIGHT=y
CONFIG_I2C_TAOS_EVM=y
CONFIG_I2C_TINY_USB=y
#
# Graphics adapter I2C/DDC channel drivers
#
# CONFIG_I2C_VOODOO3 is not set
#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=y
#
# Miscellaneous I2C Chip support
#
# CONFIG_DS1682 is not set
# CONFIG_AT24 is not set
CONFIG_SENSORS_EEPROM=y
CONFIG_SENSORS_PCF8574=y
# CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set
CONFIG_SENSORS_PCF8591=y
CONFIG_SENSORS_MAX6875=y
CONFIG_SENSORS_TSL2550=y
# CONFIG_I2C_DEBUG_CORE is not set
CONFIG_I2C_DEBUG_ALGO=y
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_I2C_DEBUG_CHIP=y
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y
#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=y
CONFIG_SPI_BUTTERFLY=y
# CONFIG_SPI_LM70_LLP is not set
#
# SPI Protocol Masters
#
CONFIG_SPI_AT25=y
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
CONFIG_W1=y
CONFIG_W1_CON=y
#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=y
CONFIG_W1_MASTER_DS2490=y
CONFIG_W1_MASTER_DS2482=y
#
# 1-wire Slaves
#
# CONFIG_W1_SLAVE_THERM is not set
CONFIG_W1_SLAVE_SMEM=y
CONFIG_W1_SLAVE_DS2433=y
# CONFIG_W1_SLAVE_DS2433_CRC is not set
CONFIG_W1_SLAVE_DS2760=y
CONFIG_W1_SLAVE_BQ27000=y
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_PDA_POWER=y
# CONFIG_BATTERY_DS2760 is not set
# CONFIG_BATTERY_BQ27x00 is not set
CONFIG_BATTERY_DA9030=y
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
CONFIG_SENSORS_AD7414=y
CONFIG_SENSORS_AD7418=y
CONFIG_SENSORS_ADCXX=y
CONFIG_SENSORS_ADM1021=y
# CONFIG_SENSORS_ADM1025 is not set
CONFIG_SENSORS_ADM1026=y
CONFIG_SENSORS_ADM1029=y
CONFIG_SENSORS_ADM1031=y
CONFIG_SENSORS_ADM9240=y
CONFIG_SENSORS_ADT7462=y
CONFIG_SENSORS_ADT7470=y
# CONFIG_SENSORS_ADT7473 is not set
# CONFIG_SENSORS_K8TEMP is not set
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_I5K_AMB=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_F71882FG=y
CONFIG_SENSORS_F75375S=y
CONFIG_SENSORS_FSCHER=y
CONFIG_SENSORS_FSCPOS=y
CONFIG_SENSORS_FSCHMD=y
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_CORETEMP=y
# CONFIG_SENSORS_IBMAEM is not set
CONFIG_SENSORS_IBMPEX=y
CONFIG_SENSORS_IT87=y
CONFIG_SENSORS_LM63=y
# CONFIG_SENSORS_LM70 is not set
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
CONFIG_SENSORS_LM78=y
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
CONFIG_SENSORS_LM85=y
# CONFIG_SENSORS_LM87 is not set
CONFIG_SENSORS_LM90=y
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4245 is not set
CONFIG_SENSORS_MAX1111=y
CONFIG_SENSORS_MAX1619=y
CONFIG_SENSORS_MAX6650=y
CONFIG_SENSORS_PC87360=y
CONFIG_SENSORS_PC87427=y
CONFIG_SENSORS_SIS5595=y
# CONFIG_SENSORS_DME1737 is not set
CONFIG_SENSORS_SMSC47M1=y
# CONFIG_SENSORS_SMSC47M192 is not set
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_ADS7828=y
CONFIG_SENSORS_THMC50=y
CONFIG_SENSORS_VIA686A=y
# CONFIG_SENSORS_VT1211 is not set
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=y
CONFIG_SENSORS_W83792D=y
# CONFIG_SENSORS_W83793 is not set
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83L786NG=y
CONFIG_SENSORS_W83627HF=y
CONFIG_SENSORS_W83627EHF=y
CONFIG_SENSORS_HDAPS=y
CONFIG_SENSORS_LIS3LV02D=y
# CONFIG_SENSORS_APPLESMC is not set
CONFIG_HWMON_DEBUG_CHIP=y
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=y
CONFIG_ACQUIRE_WDT=y
CONFIG_ADVANTECH_WDT=y
CONFIG_ALIM1535_WDT=y
CONFIG_ALIM7101_WDT=y
# CONFIG_SC520_WDT is not set
# CONFIG_IB700_WDT is not set
CONFIG_IBMASR=y
# CONFIG_WAFER_WDT is not set
# CONFIG_I6300ESB_WDT is not set
CONFIG_ITCO_WDT=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=y
CONFIG_IT87_WDT=y
CONFIG_HP_WATCHDOG=y
CONFIG_SC1200_WDT=y
# CONFIG_PC87413_WDT is not set
# CONFIG_60XX_WDT is not set
CONFIG_SBC8360_WDT=y
# CONFIG_CPU5_WDT is not set
# CONFIG_SMSC_SCH311X_WDT is not set
# CONFIG_SMSC37B787_WDT is not set
CONFIG_W83627HF_WDT=y
CONFIG_W83697HF_WDT=y
# CONFIG_W83697UG_WDT is not set
# CONFIG_W83877F_WDT is not set
CONFIG_W83977F_WDT=y
# CONFIG_MACHZ_WDT is not set
CONFIG_SBC_EPX_C3_WATCHDOG=y
#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=y
CONFIG_WDTPCI=y
CONFIG_WDT_501_PCI=y
#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
# CONFIG_SSB_DEBUG is not set
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
CONFIG_MFD_SM501=y
CONFIG_HTC_PASIC3=y
CONFIG_TWL4030_CORE=y
# CONFIG_MFD_TMIO is not set
CONFIG_PMIC_DA903X=y
CONFIG_MFD_WM8400=y
# CONFIG_REGULATOR is not set
#
# Multimedia devices
#
#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
CONFIG_DVB_CORE=y
CONFIG_VIDEO_MEDIA=y
#
# Multimedia drivers
#
CONFIG_VIDEO_SAA7146=y
CONFIG_MEDIA_TUNER=y
# CONFIG_MEDIA_TUNER_CUSTOMIZE is not set
CONFIG_MEDIA_TUNER_SIMPLE=y
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA18271=y
CONFIG_MEDIA_TUNER_TDA9887=y
CONFIG_MEDIA_TUNER_TEA5761=y
CONFIG_MEDIA_TUNER_TEA5767=y
CONFIG_MEDIA_TUNER_MT20XX=y
CONFIG_MEDIA_TUNER_MT2060=y
CONFIG_MEDIA_TUNER_QT1010=y
CONFIG_MEDIA_TUNER_XC2028=y
CONFIG_MEDIA_TUNER_XC5000=y
CONFIG_MEDIA_TUNER_MXL5005S=y
CONFIG_VIDEO_IR=y
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_CAPTURE_DRIVERS=y
#
# Supported SAA7146 based PCI Adapters
#
CONFIG_TTPCI_EEPROM=y
CONFIG_DVB_BUDGET_CORE=y
CONFIG_DVB_BUDGET=y
CONFIG_DVB_BUDGET_CI=y
#
# Supported USB Adapters
#
CONFIG_DVB_USB=y
CONFIG_DVB_USB_DEBUG=y
CONFIG_DVB_USB_A800=y
# CONFIG_DVB_USB_DIBUSB_MB is not set
CONFIG_DVB_USB_DIBUSB_MC=y
# CONFIG_DVB_USB_DIB0700 is not set
CONFIG_DVB_USB_UMT_010=y
# CONFIG_DVB_USB_CXUSB is not set
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_VP7045=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_DTT200U=y
# CONFIG_DVB_USB_OPERA1 is not set
CONFIG_DVB_USB_AF9005=y
# CONFIG_DVB_USB_AF9005_REMOTE is not set
# CONFIG_DVB_USB_DW2102 is not set
CONFIG_DVB_USB_CINERGY_T2=y
# CONFIG_DVB_USB_ANYSEE is not set
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y
# CONFIG_DVB_SIANO_SMS1XXX is not set
#
# Supported FlexCopII (B2C2) Adapters
#
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_DVB_B2C2_FLEXCOP_PCI=y
# CONFIG_DVB_B2C2_FLEXCOP_USB is not set
CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
#
# Supported BT878 Adapters
#
#
# Supported Pluto2 Adapters
#
CONFIG_DVB_PLUTO2=y
#
# Supported SDMC DM1105 Adapters
#
# CONFIG_DVB_DM1105 is not set
#
# Supported DVB Frontends
#
#
# Customise DVB Frontends
#
# CONFIG_DVB_FE_CUSTOMISE is not set
#
# Multistandard (satellite) frontends
#
CONFIG_DVB_STB0899=y
CONFIG_DVB_STB6100=y
#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=y
CONFIG_DVB_CX24123=y
CONFIG_DVB_MT312=y
CONFIG_DVB_S5H1420=y
CONFIG_DVB_STV0288=y
CONFIG_DVB_STB6000=y
CONFIG_DVB_STV0299=y
CONFIG_DVB_TDA8083=y
CONFIG_DVB_TDA10086=y
CONFIG_DVB_TDA8261=y
CONFIG_DVB_VES1X93=y
CONFIG_DVB_TUNER_ITD1000=y
CONFIG_DVB_TUNER_CX24113=y
CONFIG_DVB_TDA826X=y
CONFIG_DVB_TUA6100=y
# CONFIG_DVB_CX24116 is not set
CONFIG_DVB_SI21XX=y
#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_SP8870=y
CONFIG_DVB_SP887X=y
CONFIG_DVB_CX22700=y
CONFIG_DVB_CX22702=y
CONFIG_DVB_DRX397XD=y
CONFIG_DVB_L64781=y
CONFIG_DVB_TDA1004X=y
CONFIG_DVB_NXT6000=y
CONFIG_DVB_MT352=y
CONFIG_DVB_ZL10353=y
# CONFIG_DVB_DIB3000MB is not set
CONFIG_DVB_DIB3000MC=y
CONFIG_DVB_DIB7000M=y
CONFIG_DVB_DIB7000P=y
CONFIG_DVB_TDA10048=y
#
# DVB-C (cable) frontends
#
CONFIG_DVB_VES1820=y
CONFIG_DVB_TDA10021=y
CONFIG_DVB_TDA10023=y
CONFIG_DVB_STV0297=y
#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_NXT200X=y
CONFIG_DVB_OR51211=y
CONFIG_DVB_OR51132=y
CONFIG_DVB_BCM3510=y
CONFIG_DVB_LGDT330X=y
CONFIG_DVB_LGDT3304=y
CONFIG_DVB_S5H1409=y
CONFIG_DVB_AU8522=y
CONFIG_DVB_S5H1411=y
#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_S921=y
#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=y
CONFIG_DVB_TUNER_DIB0070=y
#
# SEC control devices for DVB-S
#
CONFIG_DVB_LNBP21=y
# CONFIG_DVB_ISL6405 is not set
CONFIG_DVB_ISL6421=y
# CONFIG_DVB_LGS8GL5 is not set
#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
CONFIG_DVB_AF9013=y
CONFIG_DAB=y
CONFIG_USB_DABUSB=y
#
# Graphics support
#
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_DRM=y
CONFIG_DRM_TDFX=y
CONFIG_DRM_R128=y
CONFIG_DRM_RADEON=y
# CONFIG_DRM_I810 is not set
# CONFIG_DRM_I830 is not set
# CONFIG_DRM_I915 is not set
# CONFIG_DRM_MGA is not set
CONFIG_DRM_SIS=y
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
# CONFIG_FB is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_CORGI=y
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_DA903X is not set
CONFIG_BACKLIGHT_MBP_NVIDIA=y
CONFIG_BACKLIGHT_SAHARA=y
#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y
#
# Display hardware drivers
#
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_JACK=y
CONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
# CONFIG_SND_PCM_OSS_PLUGINS is not set
# CONFIG_SND_SEQUENCER_OSS is not set
CONFIG_SND_RTCTIMER=y
CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y
# CONFIG_SND_DYNAMIC_MINORS is not set
CONFIG_SND_SUPPORT_OLD_API=y
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_VERBOSE=y
CONFIG_SND_VMASTER=y
CONFIG_SND_MPU401_UART=y
CONFIG_SND_OPL3_LIB=y
CONFIG_SND_VX_LIB=y
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_DUMMY=y
CONFIG_SND_VIRMIDI=y
CONFIG_SND_MTPAV=y
# CONFIG_SND_MTS64 is not set
CONFIG_SND_SERIAL_U16550=y
CONFIG_SND_MPU401=y
# CONFIG_SND_PORTMAN2X4 is not set
# CONFIG_SND_AC97_POWER_SAVE is not set
CONFIG_SND_SB_COMMON=y
CONFIG_SND_SB16_DSP=y
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=y
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
CONFIG_SND_ALI5451=y
CONFIG_SND_ATIIXP=y
# CONFIG_SND_ATIIXP_MODEM is not set
CONFIG_SND_AU8810=y
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
CONFIG_SND_AW2=y
# CONFIG_SND_AZT3328 is not set
CONFIG_SND_BT87X=y
CONFIG_SND_BT87X_OVERCLOCK=y
CONFIG_SND_CA0106=y
CONFIG_SND_CMIPCI=y
CONFIG_SND_OXYGEN_LIB=y
# CONFIG_SND_OXYGEN is not set
CONFIG_SND_CS4281=y
CONFIG_SND_CS46XX=y
# CONFIG_SND_CS46XX_NEW_DSP is not set
CONFIG_SND_CS5530=y
CONFIG_SND_DARLA20=y
CONFIG_SND_GINA20=y
CONFIG_SND_LAYLA20=y
# CONFIG_SND_DARLA24 is not set
CONFIG_SND_GINA24=y
# CONFIG_SND_LAYLA24 is not set
CONFIG_SND_MONA=y
CONFIG_SND_MIA=y
CONFIG_SND_ECHO3G=y
CONFIG_SND_INDIGO=y
# CONFIG_SND_INDIGOIO is not set
CONFIG_SND_INDIGODJ=y
CONFIG_SND_EMU10K1=y
CONFIG_SND_EMU10K1X=y
CONFIG_SND_ENS1370=y
CONFIG_SND_ENS1371=y
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
CONFIG_SND_FM801=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
# CONFIG_SND_HDA_INPUT_BEEP is not set
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
CONFIG_SND_HDA_CODEC_ATIHDMI=y
CONFIG_SND_HDA_CODEC_NVHDMI=y
CONFIG_SND_HDA_CODEC_INTELHDMI=y
CONFIG_SND_HDA_ELD=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
CONFIG_SND_HDA_CODEC_SI3054=y
# CONFIG_SND_HDA_GENERIC is not set
# CONFIG_SND_HDA_POWER_SAVE is not set
CONFIG_SND_HDSP=y
CONFIG_SND_HDSPM=y
CONFIG_SND_HIFIER=y
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
CONFIG_SND_KORG1212=y
CONFIG_SND_MAESTRO3=y
CONFIG_SND_MIXART=y
CONFIG_SND_NM256=y
# CONFIG_SND_PCXHR is not set
CONFIG_SND_RIPTIDE=y
CONFIG_SND_RME32=y
CONFIG_SND_RME96=y
CONFIG_SND_RME9652=y
CONFIG_SND_SONICVIBES=y
CONFIG_SND_TRIDENT=y
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
CONFIG_SND_VX222=y
CONFIG_SND_YMFPCI=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
# CONFIG_SND_PCMCIA is not set
# CONFIG_SND_SOC is not set
CONFIG_SOUND_PRIME=y
# CONFIG_SOUND_OSS is not set
CONFIG_AC97_BUS=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_DEBUG=y
CONFIG_HIDRAW=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
CONFIG_USB_MOUSE=y
#
# Special HID drivers
#
# CONFIG_HID_COMPAT is not set
CONFIG_HID_A4TECH=y
CONFIG_HID_APPLE=y
CONFIG_HID_BELKIN=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_EZKEY=y
CONFIG_HID_GYRATION=y
CONFIG_HID_LOGITECH=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_NTRIG=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SONY=y
CONFIG_HID_SUNPLUS=y
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_TOPSEED=y
# CONFIG_THRUSTMASTER_FF is not set
# CONFIG_ZEROPLUS_FF is not set
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_DEBUG is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_SUSPEND=y
# CONFIG_USB_OTG is not set
CONFIG_USB_MON=y
CONFIG_USB_WUSB=y
CONFIG_USB_WUSB_CBAF=y
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
# CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_SSB=y
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
CONFIG_USB_R8A66597_HCD=y
# CONFIG_USB_HWA_HCD is not set
#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
#
#
# see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
# CONFIG_USB_STORAGE_USBAT is not set
CONFIG_USB_STORAGE_SDDR09=y
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_LIBUSUAL=y
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
CONFIG_USB_MICROTEK=y
#
# USB port drivers
#
CONFIG_USB_USS720=y
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
CONFIG_USB_EMI26=y
# CONFIG_USB_ADUTUX is not set
CONFIG_USB_SEVSEG=y
CONFIG_USB_RIO500=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_PHIDGET=y
CONFIG_USB_PHIDGETKIT=y
CONFIG_USB_PHIDGETMOTORCONTROL=y
# CONFIG_USB_PHIDGETSERVO is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
CONFIG_USB_APPLEDISPLAY=y
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
CONFIG_USB_VST=y
#
# OTG and related infrastructure
#
CONFIG_USB_OTG_UTILS=y
CONFIG_TWL4030_USB=y
CONFIG_UWB=y
CONFIG_UWB_HWA=y
# CONFIG_UWB_WHCI is not set
# CONFIG_UWB_WLP is not set
# CONFIG_UWB_I1480U is not set
# CONFIG_MMC is not set
CONFIG_MEMSTICK=y
CONFIG_MEMSTICK_DEBUG=y
#
# MemoryStick drivers
#
# CONFIG_MEMSTICK_UNSAFE_RESUME is not set
# CONFIG_MSPRO_BLOCK is not set
#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=y
CONFIG_MEMSTICK_JMICRON_38X=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
#
# LED drivers
#
# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_HP_DISK=y
CONFIG_LEDS_CLEVO_MAIL=y
CONFIG_LEDS_PCA955X=y
# CONFIG_LEDS_DA903X is not set
#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_ACCESSIBILITY=y
# CONFIG_A11Y_BRAILLE_CONSOLE is not set
CONFIG_EDAC=y
#
# Reporting subsystems
#
CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_MM_EDAC=y
CONFIG_EDAC_E752X=y
CONFIG_EDAC_I82975X=y
CONFIG_EDAC_I3000=y
CONFIG_EDAC_X38=y
# CONFIG_EDAC_I5400 is not set
CONFIG_EDAC_I5000=y
CONFIG_EDAC_I5100=y
# CONFIG_RTC_CLASS is not set
CONFIG_DMADEVICES=y
#
# DMA Devices
#
CONFIG_INTEL_IOATDMA=y
CONFIG_DMA_ENGINE=y
#
# DMA Clients
#
CONFIG_NET_DMA=y
# CONFIG_DMATEST is not set
CONFIG_DCA=y
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set
#
# Firmware Drivers
#
CONFIG_EDD=y
CONFIG_EDD_OFF=y
CONFIG_FIRMWARE_MEMMAP=y
# CONFIG_EFI_VARS is not set
# CONFIG_DELL_RBU is not set
CONFIG_DCDBAS=y
CONFIG_DMIID=y
# CONFIG_ISCSI_IBFT_FIND is not set
#
# File systems
#
# CONFIG_EXT2_FS is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4DEV_COMPAT=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
CONFIG_EXT4_FS_SECURITY=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
CONFIG_REISERFS_CHECK=y
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_REISERFS_FS_XATTR is not set
# CONFIG_JFS_FS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_FILE_LOCKING=y
CONFIG_XFS_FS=y
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_POSIX_ACL is not set
# CONFIG_XFS_RT is not set
CONFIG_XFS_DEBUG=y
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
# CONFIG_OCFS2_FS_USERSPACE_CLUSTER is not set
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_OCFS2_FS_POSIX_ACL=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=y
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y
#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=y
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y
#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_MISC_FILESYSTEMS=y
CONFIG_ADFS_FS=y
CONFIG_ADFS_FS_RW=y
CONFIG_AFFS_FS=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
CONFIG_BEFS_DEBUG=y
# CONFIG_BFS_FS is not set
CONFIG_EFS_FS=y
CONFIG_CRAMFS=y
CONFIG_VXFS_FS=y
# CONFIG_MINIX_FS is not set
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_ROMFS_FS=y
# CONFIG_SYSV_FS is not set
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
# CONFIG_UFS_DEBUG is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
CONFIG_OSF_PARTITION=y
# CONFIG_AMIGA_PARTITION is not set
CONFIG_ATARI_PARTITION=y
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
CONFIG_LDM_DEBUG=y
# CONFIG_SGI_PARTITION is not set
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
# CONFIG_NLS_CODEPAGE_850 is not set
CONFIG_NLS_CODEPAGE_852=y
# CONFIG_NLS_CODEPAGE_855 is not set
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
# CONFIG_NLS_CODEPAGE_863 is not set
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
# CONFIG_NLS_CODEPAGE_866 is not set
CONFIG_NLS_CODEPAGE_869=y
# CONFIG_NLS_CODEPAGE_936 is not set
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
# CONFIG_NLS_CODEPAGE_874 is not set
CONFIG_NLS_ISO8859_8=y
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
# CONFIG_NLS_ISO8859_3 is not set
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=y
CONFIG_DLM=y
CONFIG_DLM_DEBUG=y
#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_PRINTK_TIME=y
CONFIG_ALLOW_WARNINGS=y
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_SHIRQ=y
# CONFIG_DETECT_SOFTLOCKUP is not set
CONFIG_SCHED_DEBUG=y
CONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not set
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_SELFTEST=y
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
CONFIG_SLUB_DEBUG_ON=y
CONFIG_SLUB_STATS=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_PI_LIST=y
CONFIG_RT_MUTEX_TESTER=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCKDEP=y
CONFIG_LOCK_STAT=y
# CONFIG_DEBUG_LOCKDEP is not set
CONFIG_TRACE_IRQFLAGS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_VM=y
# CONFIG_DEBUG_VIRTUAL is not set
# CONFIG_DEBUG_WRITECOUNT is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_FRAME_POINTER=y
CONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_CPU_STALL_DETECTOR=y
CONFIG_BACKTRACE_SELF_TEST=y
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
# CONFIG_FAIL_PAGE_ALLOC is not set
CONFIG_FAIL_MAKE_REQUEST=y
# CONFIG_FAIL_IO_TIMEOUT is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_LATENCYTOP=y
CONFIG_SYSCTL_SYSCALL_CHECK=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_TRACING=y
#
# Tracers
#
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SYSPROF_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_BOOT_TRACER=y
CONFIG_POWER_TRACER=y
CONFIG_STACK_TRACER=y
# CONFIG_KMEMTRACE is not set
# CONFIG_DYNAMIC_FTRACE is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y
CONFIG_DYNAMIC_PRINTK_DEBUG=y
CONFIG_SAMPLES=y
# CONFIG_SAMPLE_KOBJECT is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not set
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_X86_PTDUMP=y
CONFIG_DEBUG_RODATA=y
CONFIG_DEBUG_RODATA_TEST=y
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_MMIOTRACE is not set
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_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
CONFIG_OPTIMIZE_INLINING=y
#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_DEBUG_PROC_KEYS=y
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SECURITY_PATH=y
CONFIG_SECURITY_FILE_CAPABILITIES=y
CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0
CONFIG_CRYPTO=y
#
# Crypto core or helper
#
CONFIG_CRYPTO_FIPS=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_GF128MUL=y
# CONFIG_CRYPTO_NULL is not set
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
CONFIG_CRYPTO_SEQIV=y
#
# Block modes
#
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CTR=y
# CONFIG_CRYPTO_CTS is not set
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XTS=y
#
# Hash modes
#
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_XCBC=y
#
# Digest
#
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CRC32C_INTEL is not set
# CONFIG_CRYPTO_MD4 is not set
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
# CONFIG_CRYPTO_RMD128 is not set
CONFIG_CRYPTO_RMD160=y
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
# CONFIG_CRYPTO_SHA512 is not set
CONFIG_CRYPTO_TGR192=y
CONFIG_CRYPTO_WP512=y
#
# Ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_BLOWFISH=y
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SALSA20=y
CONFIG_CRYPTO_SALSA20_X86_64=y
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
CONFIG_HAVE_KVM=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_INTEL is not set
CONFIG_KVM_AMD=y
CONFIG_KVM_TRACE=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
# CONFIG_VIRTIO_BALLOON is not set
#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_FORCE_SUCCESSFUL_BUILD=y
CONFIG_FORCE_MINIMAL_CONFIG=y
CONFIG_FORCE_MINIMAL_CONFIG_64=y
CONFIG_FORCE_MINIMAL_CONFIG_PHYS=y
^ permalink raw reply [flat|nested] 12+ messages in thread* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-08 15:20 [bug] sound: INFO: possible recursive locking detected Ingo Molnar @ 2009-01-08 15:39 ` Takashi Iwai 2009-01-08 16:10 ` Takashi Iwai 2009-01-09 5:06 ` Wu Fengguang 1 sibling, 1 reply; 12+ messages in thread From: Takashi Iwai @ 2009-01-08 15:39 UTC (permalink / raw) To: Ingo Molnar; +Cc: linux-kernel, Peter Zijlstra, Wu Fengguang At Thu, 8 Jan 2009 16:20:37 +0100, Ingo Molnar wrote: > > FYI, -tip testing found this new lockdep workqueue locking assert > triggered by the Intel HDA sound driver: > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > [ 30.667801] chipset global capabilities = 0x4401 > [ 30.701090] codec_mask = 0x4 > [ 30.701090] hda_intel: codec #2 probed OK > [ 30.709090] hda-codec: No codec parser is available > [ 30.714396] hda-intel: no codecs initialized Ah, this situation hasn't been checked well. The codec exists but no corresponding code. Usually either codec isn't detected or probe errors. I'll check this. Thanks! Takashi > [ 30.718689] > [ 30.718689] ============================================= > [ 30.718689] [ INFO: possible recursive locking detected ] > [ 30.718689] 2.6.28-tip #2 > [ 30.718689] --------------------------------------------- > [ 30.718689] events/0/7 is trying to acquire lock: > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > [ 30.718689] > [ 30.718689] but task is already holding lock: > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > [ 30.718689] > [ 30.718689] other info that might help us debug this: > [ 30.718689] 2 locks held by events/0/7: > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > [ 30.718689] > [ 30.718689] stack backtrace: > [ 30.718689] Pid: 7, comm: events/0 Not tainted 2.6.28-tip #2 > [ 30.718689] Call Trace: > [ 30.718689] [<ffffffff80295836>] validate_chain+0xc56/0x1340 > [ 30.718689] [<ffffffff802974e6>] __lock_acquire+0x376/0x610 > [ 30.718689] [<ffffffff80297819>] lock_acquire+0x99/0xd0 > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > [ 30.718689] [<ffffffff80281091>] flush_workqueue+0x41/0x90 > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > [ 30.718689] [<ffffffff802810f5>] flush_scheduled_work+0x15/0x20 > [ 30.718689] [<ffffffff80c59794>] azx_clear_irq_pending+0x54/0x60 > [ 30.718689] [<ffffffff80c599ec>] azx_free+0x10c/0x160 > [ 30.718689] [<ffffffff80bae9ad>] ? snd_device_free+0x8d/0x100 > [ 30.718689] [<ffffffff80c59a52>] azx_dev_free+0x12/0x20 > [ 30.718689] [<ffffffff80bae9a1>] snd_device_free+0x81/0x100 > [ 30.718689] [<ffffffff80baea89>] snd_device_free_all+0x69/0xa0 > [ 30.718689] [<ffffffff80ba8a70>] snd_card_do_free+0x50/0xd0 > [ 30.718689] [<ffffffff80ba9602>] snd_card_free+0xa2/0xc0 > [ 30.718689] [<ffffffff8061115f>] ? __delay+0xf/0x20 > [ 30.718689] [<ffffffff80edbb6a>] azx_probe+0x38a/0x9f0 > [ 30.718689] [<ffffffff80c5a240>] ? azx_send_cmd+0x0/0x130 > [ 30.718689] [<ffffffff80c5a370>] ? azx_get_response+0x0/0x210 > [ 30.718689] [<ffffffff80c59b70>] ? azx_attach_pcm_stream+0x0/0x1b0 > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > [ 30.718689] [<ffffffff80634807>] local_pci_probe+0x17/0x20 > [ 30.718689] [<ffffffff802804e8>] do_work_for_cpu+0x18/0x30 > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > [ 30.718689] [<ffffffff802807bb>] run_workqueue+0x19b/0x240 > [ 30.718689] [<ffffffff8028076a>] ? run_workqueue+0x14a/0x240 > [ 30.718689] [<ffffffff802809cf>] worker_thread+0xaf/0x110 > [ 30.718689] [<ffffffff80284e20>] ? autoremove_wake_function+0x0/0x40 > [ 30.718689] [<ffffffff80280920>] ? worker_thread+0x0/0x110 > [ 30.718689] [<ffffffff802848e3>] kthread+0x53/0x80 > [ 30.718689] [<ffffffff8022c3aa>] child_rip+0xa/0x20 > [ 30.718689] [<ffffffff8022bcbe>] ? restore_args+0x0/0x30 > [ 30.718689] [<ffffffff80284890>] ? kthread+0x0/0x80 > [ 30.718689] [<ffffffff8022c3a0>] ? child_rip+0x0/0x20 > [ 30.993230] HDA Intel 0000:00:1b.0: PCI INT A disabled > [ 30.998430] initcall alsa_card_azx_init+0x0/0x20 returned 0 after 372964 usecs > [ 31.005810] calling alsa_card_korg1212_init+0x0/0x20 @ 1 > [ 31.011225] bus: 'pci': add driver korg1212 > > config attached. > > Today is the first time i saw this bug, so i guess the guilty commit is > one of: > > 8326e32: Merge branch 'topic/hda-resume-fix' into topic/hda > d4d9cd03: ALSA: hda - Add probe_only option > 0ff5551: Merge branch 'fix/hda' into topic/hda > 5c0b9be: ALSA: hda - Fix a compile warning when CONFIG_PM=n > 32e176c: Sound: hda - Restore PCI configuration space with interrupts off > 11cd41b: ALSA: hda - Fix build error with CONFIG_SND_HDA_POWER_SAVE > fee2fba: ALSA: hda - Move power_save option to hda_intel.c > 986862b: ALSA: hda - make some functions static > ef1681d: ALSA: hda - Add probe_mask quirk for Medion MD96630 > 41dda0f: ALSA: azx_probe() cleanup > c4da29c: ALSA: hda - support detecting HD Audio devices with PCI class code > 0edb945: ALSA: hda - Fix probe errors on Dell Studio Desktop > 6ce4a3b: ALSA: hda - Make codec-probing more robust > 33fa35e: ALSA: hda - simplify hda_bus ops callbacks > afecd78c: Merge branch 'topic/fix/hda' into topic/hda > 34c2535: ALSA: hda - Remove old codec-probe limitation > 176d533: ALSA: hda - Add infrastructure for dynamic stream allocation > > Ingo > [2 config <text/plain; us-ascii (7bit)>] > # > # Automatically generated make config: don't edit > # Linux kernel version: 2.6.28 > # Thu Jan 8 15:07:44 2009 > # > CONFIG_64BIT=y > # CONFIG_X86_32 is not set > 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_BUG_RELATIVE_POINTERS=y > CONFIG_GENERIC_HWEIGHT=y > CONFIG_ARCH_MAY_HAVE_PC_FDC=y > CONFIG_RWSEM_GENERIC_SPINLOCK=y > # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set > 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_DEFAULT_IDLE=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_OPTIMIZED_INLINING=y > CONFIG_GENERIC_HARDIRQS=y > CONFIG_GENERIC_IRQ_PROBE=y > CONFIG_GENERIC_PENDING_IRQ=y > CONFIG_X86_SMP=y > CONFIG_USE_GENERIC_SMP_HELPERS=y > CONFIG_X86_64_SMP=y > CONFIG_X86_HT=y > CONFIG_X86_BIOS_REBOOT=y > CONFIG_X86_TRAMPOLINE=y > # CONFIG_KTIME_SCALAR is not set > CONFIG_BOOTPARAM_SUPPORT=y > CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" > > # > # General setup > # > CONFIG_EXPERIMENTAL=y > # CONFIG_BROKEN_BOOT_ALLOWED4 is not set > # CONFIG_BROKEN_BOOT_EUROPE is not set > # CONFIG_BROKEN_BOOT_TITAN is not set > CONFIG_LOCK_KERNEL=y > CONFIG_INIT_ENV_ARG_LIMIT=32 > CONFIG_LOCALVERSION="" > # CONFIG_LOCALVERSION_AUTO is not set > CONFIG_HAVE_KERNEL_GZIP=y > CONFIG_HAVE_KERNEL_BZIP2=y > CONFIG_HAVE_KERNEL_LZMA=y > CONFIG_KERNEL_GZIP=y > # CONFIG_KERNEL_BZIP2 is not set > # CONFIG_KERNEL_LZMA is not set > CONFIG_SWAP=y > CONFIG_SYSVIPC=y > CONFIG_SYSVIPC_SYSCTL=y > # CONFIG_POSIX_MQUEUE is not set > # CONFIG_BSD_PROCESS_ACCT is not set > CONFIG_TASKSTATS=y > # CONFIG_TASK_DELAY_ACCT is not set > CONFIG_TASK_XACCT=y > # CONFIG_TASK_IO_ACCOUNTING is not set > # CONFIG_AUDIT is not set > CONFIG_IKCONFIG=y > CONFIG_IKCONFIG_PROC=y > CONFIG_LOG_BUF_SHIFT=20 > CONFIG_CGROUPS=y > # CONFIG_CGROUP_DEBUG is not set > # CONFIG_CGROUP_NS is not set > # CONFIG_CGROUP_FREEZER is not set > CONFIG_CGROUP_DEVICE=y > CONFIG_CPUSETS=y > CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y > # CONFIG_GROUP_SCHED is not set > CONFIG_CGROUP_CPUACCT=y > # CONFIG_RESOURCE_COUNTERS is not set > CONFIG_SYSFS_DEPRECATED=y > # CONFIG_SYSFS_DEPRECATED_V2 is not set > CONFIG_PROC_PID_CPUSET=y > CONFIG_RELAY=y > CONFIG_NAMESPACES=y > CONFIG_UTS_NS=y > CONFIG_IPC_NS=y > CONFIG_USER_NS=y > CONFIG_PID_NS=y > # CONFIG_BLK_DEV_INITRD is not set > # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set > CONFIG_SYSCTL=y > # CONFIG_EMBEDDED is not set > CONFIG_UID16=y > CONFIG_SYSCTL_SYSCALL=y > CONFIG_KALLSYMS=y > CONFIG_KALLSYMS_ALL=y > CONFIG_KALLSYMS_STRIP_GENERATED=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_AIO=y > CONFIG_HAVE_PERF_COUNTERS=y > > # > # Performance Counters > # > # CONFIG_PERF_COUNTERS is not set > CONFIG_VM_EVENT_COUNTERS=y > CONFIG_PCI_QUIRKS=y > CONFIG_SLUB_DEBUG=y > # CONFIG_SLAB is not set > CONFIG_SLUB=y > # CONFIG_SLOB is not set > CONFIG_PROFILING=y > CONFIG_TRACEPOINTS=y > CONFIG_MARKERS=y > CONFIG_OPROFILE=y > # CONFIG_OPROFILE_IBS is not set > CONFIG_HAVE_OPROFILE=y > CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y > CONFIG_HAVE_IOREMAP_PROT=y > CONFIG_HAVE_KPROBES=y > CONFIG_HAVE_KRETPROBES=y > CONFIG_HAVE_ARCH_TRACEHOOK=y > # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set > CONFIG_SLABINFO=y > CONFIG_RT_MUTEXES=y > CONFIG_BASE_SMALL=0 > # CONFIG_MODULES is not set > CONFIG_STOP_MACHINE=y > CONFIG_BLOCK=y > CONFIG_BLK_DEV_IO_TRACE=y > CONFIG_BLK_DEV_BSG=y > CONFIG_BLK_DEV_INTEGRITY=y > CONFIG_BLOCK_COMPAT=y > > # > # IO Schedulers > # > CONFIG_IOSCHED_NOOP=y > CONFIG_IOSCHED_AS=y > CONFIG_IOSCHED_DEADLINE=y > CONFIG_IOSCHED_CFQ=y > # CONFIG_DEFAULT_AS is not set > # CONFIG_DEFAULT_DEADLINE is not set > CONFIG_DEFAULT_CFQ=y > # CONFIG_DEFAULT_NOOP is not set > CONFIG_DEFAULT_IOSCHED="cfq" > CONFIG_PREEMPT_NOTIFIERS=y > CONFIG_CLASSIC_RCU=y > # CONFIG_TREE_RCU is not set > # CONFIG_PREEMPT_RCU is not set > # CONFIG_TREE_RCU_TRACE is not set > # CONFIG_PREEMPT_RCU_TRACE is not set > CONFIG_FREEZER=y > > # > # Processor type and features > # > # CONFIG_NO_HZ is not set > # CONFIG_BOOTPARAM_NO_HZ_OFF is not set > # CONFIG_HIGH_RES_TIMERS is not set > CONFIG_GENERIC_CLOCKEVENTS_BUILD=y > CONFIG_BOOTPARAM_HIGHRES_OFF=y > # CONFIG_SMP_SUPPORT is not set > CONFIG_SPARSE_IRQ=y > # CONFIG_NUMA_MIGRATE_IRQ_DESC is not set > CONFIG_X86_FIND_SMP_CONFIG=y > CONFIG_X86_MPPARSE=y > CONFIG_UP_WANTED_1=y > # CONFIG_UP_WANTED_2 is not set > CONFIG_SMP=y > CONFIG_X86_PC=y > # CONFIG_X86_ELAN is not set > # CONFIG_X86_VOYAGER is not set > # CONFIG_X86_GENERICARCH is not set > # CONFIG_X86_VSMP is not set > # CONFIG_SCHED_OMIT_FRAME_POINTER is not set > CONFIG_PARAVIRT_GUEST=y > # CONFIG_XEN is not set > CONFIG_KVM_CLOCK=y > CONFIG_KVM_GUEST=y > CONFIG_PARAVIRT=y > CONFIG_PARAVIRT_CLOCK=y > # CONFIG_PARAVIRT_DEBUG is not set > CONFIG_MEMTEST=y > # CONFIG_M386 is not set > # CONFIG_M486 is not set > # CONFIG_M586 is not set > # CONFIG_M586TSC is not set > # CONFIG_M586MMX is not set > # CONFIG_M686 is not set > # CONFIG_MPENTIUMII is not set > # CONFIG_MPENTIUMIII is not set > # CONFIG_MPENTIUMM is not set > # CONFIG_MPENTIUM4 is not set > # CONFIG_MK6 is not set > # CONFIG_MK7 is not set > # CONFIG_MK8 is not set > # CONFIG_MCRUSOE is not set > # CONFIG_MEFFICEON is not set > # CONFIG_MWINCHIPC6 is not set > # CONFIG_MWINCHIP3D is not set > # CONFIG_MGEODEGX1 is not set > # CONFIG_MGEODE_LX is not set > # CONFIG_MCYRIXIII is not set > # CONFIG_MVIAC3_2 is not set > # CONFIG_MVIAC7 is not set > # CONFIG_MPSC is not set > # CONFIG_MCORE2 is not set > CONFIG_GENERIC_CPU=y > CONFIG_X86_CPU=y > CONFIG_X86_L1_CACHE_BYTES=128 > CONFIG_X86_INTERNODE_CACHE_BYTES=128 > CONFIG_X86_CMPXCHG=y > CONFIG_X86_L1_CACHE_SHIFT=7 > CONFIG_X86_WP_WORKS_OK=y > CONFIG_X86_TSC=y > CONFIG_X86_CMPXCHG64=y > CONFIG_X86_CMOV=y > CONFIG_X86_MINIMUM_CPU_FAMILY=64 > CONFIG_X86_DEBUGCTLMSR=y > CONFIG_CPU_SUP_INTEL=y > CONFIG_CPU_SUP_AMD=y > CONFIG_CPU_SUP_CENTAUR_64=y > # CONFIG_X86_DS is not set > # CONFIG_X86_PTRACE_BTS is not set > CONFIG_HPET_TIMER=y > CONFIG_HPET_EMULATE_RTC=y > CONFIG_DMI=y > CONFIG_GART_IOMMU=y > CONFIG_CALGARY_IOMMU=y > CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y > CONFIG_AMD_IOMMU=y > # CONFIG_AMD_IOMMU_STATS is not set > CONFIG_SWIOTLB=y > CONFIG_IOMMU_HELPER=y > CONFIG_IOMMU_API=y > # CONFIG_MAXSMP is not set > CONFIG_NR_CPUS=8 > CONFIG_SCHED_SMT=y > CONFIG_SCHED_MC=y > CONFIG_PREEMPT_NONE=y > # CONFIG_PREEMPT_VOLUNTARY is not set > # CONFIG_PREEMPT is not set > CONFIG_X86_LOCAL_APIC=y > CONFIG_X86_IO_APIC=y > # CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set > # CONFIG_X86_MCE is not set > CONFIG_I8K=y > CONFIG_MICROCODE=y > CONFIG_MICROCODE_INTEL=y > # CONFIG_MICROCODE_AMD is not set > CONFIG_MICROCODE_OLD_INTERFACE=y > # CONFIG_X86_MSR is not set > CONFIG_X86_CPUID=y > CONFIG_ARCH_PHYS_ADDR_T_64BIT=y > CONFIG_DIRECT_GBPAGES=y > CONFIG_NUMA=y > # CONFIG_K8_NUMA is not set > CONFIG_X86_64_ACPI_NUMA=y > CONFIG_NODES_SPAN_OTHER_NODES=y > CONFIG_NUMA_EMU=y > CONFIG_NODES_SHIFT=6 > CONFIG_ARCH_SPARSEMEM_DEFAULT=y > CONFIG_ARCH_SPARSEMEM_ENABLE=y > CONFIG_ARCH_SELECT_MEMORY_MODEL=y > CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 > CONFIG_SELECT_MEMORY_MODEL=y > # CONFIG_FLATMEM_MANUAL is not set > # CONFIG_DISCONTIGMEM_MANUAL is not set > CONFIG_SPARSEMEM_MANUAL=y > CONFIG_SPARSEMEM=y > CONFIG_NEED_MULTIPLE_NODES=y > CONFIG_HAVE_MEMORY_PRESENT=y > CONFIG_SPARSEMEM_EXTREME=y > CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y > CONFIG_SPARSEMEM_VMEMMAP=y > > # > # Memory hotplug is currently incompatible with Software Suspend > # > CONFIG_PAGEFLAGS_EXTENDED=y > CONFIG_SPLIT_PTLOCK_CPUS=4 > CONFIG_MIGRATION=y > CONFIG_PHYS_ADDR_T_64BIT=y > CONFIG_ZONE_DMA_FLAG=1 > CONFIG_BOUNCE=y > CONFIG_VIRT_TO_BUS=y > # CONFIG_UNEVICTABLE_LRU is not set > CONFIG_MMU_NOTIFIER=y > # CONFIG_X86_CHECK_BIOS_CORRUPTION is not set > CONFIG_X86_RESERVE_LOW_64K=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_EFI=y > # CONFIG_SECCOMP is not set > CONFIG_CC_STACKPROTECTOR_ALL=y > CONFIG_CC_STACKPROTECTOR=y > # CONFIG_HZ_100 is not set > CONFIG_HZ_250=y > # CONFIG_HZ_300 is not set > # CONFIG_HZ_1000 is not set > CONFIG_HZ=250 > # CONFIG_SCHED_HRTICK is not set > # CONFIG_KEXEC is not set > # CONFIG_CRASH_DUMP is not set > CONFIG_PHYSICAL_START=0x200000 > # CONFIG_RELOCATABLE is not set > CONFIG_PHYSICAL_ALIGN=0x200000 > CONFIG_HOTPLUG_CPU=y > CONFIG_COMPAT_VDSO=y > # CONFIG_CMDLINE_BOOL is not set > CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y > CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y > > # > # Power management and ACPI options > # > CONFIG_ARCH_HIBERNATION_HEADER=y > CONFIG_PM=y > # CONFIG_PM_DEBUG is not set > CONFIG_PM_SLEEP_SMP=y > CONFIG_PM_SLEEP=y > # CONFIG_SUSPEND is not set > CONFIG_HIBERNATION=y > CONFIG_PM_STD_PARTITION="" > CONFIG_ACPI=y > CONFIG_ACPI_SLEEP=y > # CONFIG_ACPI_PROCFS is not set > CONFIG_ACPI_PROCFS_POWER=y > CONFIG_ACPI_SYSFS_POWER=y > CONFIG_ACPI_PROC_EVENT=y > CONFIG_ACPI_AC=y > # CONFIG_ACPI_BATTERY is not set > CONFIG_ACPI_BUTTON=y > # CONFIG_ACPI_VIDEO is not set > CONFIG_ACPI_FAN=y > CONFIG_ACPI_DOCK=y > CONFIG_ACPI_PROCESSOR=y > CONFIG_ACPI_HOTPLUG_CPU=y > CONFIG_ACPI_THERMAL=y > CONFIG_ACPI_NUMA=y > CONFIG_ACPI_WMI=y > CONFIG_ACPI_ASUS=y > # CONFIG_ACPI_TOSHIBA is not set > # CONFIG_ACPI_CUSTOM_DSDT is not set > CONFIG_ACPI_BLACKLIST_YEAR=0 > CONFIG_ACPI_DEBUG=y > CONFIG_ACPI_DEBUG_FUNC_TRACE=y > CONFIG_ACPI_PCI_SLOT=y > CONFIG_ACPI_SYSTEM=y > CONFIG_X86_PM_TIMER=y > CONFIG_ACPI_CONTAINER=y > CONFIG_ACPI_SBS=y > > # > # CPU Frequency scaling > # > # CONFIG_CPU_FREQ is not set > CONFIG_CPU_IDLE=y > CONFIG_CPU_IDLE_GOV_LADDER=y > > # > # Memory power savings > # > # CONFIG_I7300_IDLE is not set > # CONFIG_BOOTPARAM_NMI_WATCHDOG_BIT_0 is not set > CONFIG_BOOTPARAM_NOLAPIC_TIMER=y > # CONFIG_BOOTPARAM_LAPIC is not set > CONFIG_BOOTPARAM_HPET_DISABLE=y > CONFIG_BOOTPARAM_IDLE_MWAIT=y > CONFIG_BOOTPARAM_IDLE_POLL=y > CONFIG_BOOTPARAM_HIGHMEM_512M=y > CONFIG_BOOTPARAM_NOPAT=y > CONFIG_BOOTPARAM_NOTSC=y > CONFIG_BOOTPARAM_PCI_NOMSI=y > > # > # Bus options (PCI etc.) > # > CONFIG_PCI=y > CONFIG_PCI_DIRECT=y > CONFIG_PCI_MMCONFIG=y > CONFIG_PCI_DOMAINS=y > # CONFIG_DMAR is not set > # CONFIG_INTR_REMAP is not set > CONFIG_PCIEPORTBUS=y > # CONFIG_PCIEAER is not set > CONFIG_PCIEASPM=y > CONFIG_PCIEASPM_DEBUG=y > CONFIG_ARCH_SUPPORTS_MSI=y > CONFIG_PCI_MSI=y > CONFIG_PCI_LEGACY=y > CONFIG_PCI_DEBUG=y > CONFIG_PCI_STUB=y > # CONFIG_HT_IRQ is not set > CONFIG_ISA_DMA_API=y > CONFIG_K8_NB=y > CONFIG_PCCARD=y > CONFIG_PCMCIA_DEBUG=y > CONFIG_PCMCIA=y > CONFIG_PCMCIA_LOAD_CIS=y > CONFIG_PCMCIA_IOCTL=y > CONFIG_CARDBUS=y > > # > # PC-card bridges > # > CONFIG_YENTA=y > CONFIG_YENTA_O2=y > CONFIG_YENTA_RICOH=y > CONFIG_YENTA_TI=y > CONFIG_YENTA_ENE_TUNE=y > CONFIG_YENTA_TOSHIBA=y > # CONFIG_PD6729 is not set > CONFIG_I82092=y > CONFIG_PCCARD_NONSTATIC=y > # CONFIG_HOTPLUG_PCI is not set > > # > # Executable file formats / Emulations > # > CONFIG_BINFMT_ELF=y > CONFIG_COMPAT_BINFMT_ELF=y > CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y > # CONFIG_HAVE_AOUT is not set > # CONFIG_BINFMT_MISC is not set > CONFIG_IA32_EMULATION=y > CONFIG_IA32_AOUT=y > CONFIG_COMPAT=y > CONFIG_COMPAT_FOR_U64_ALIGNMENT=y > CONFIG_SYSVIPC_COMPAT=y > CONFIG_NET=y > > # > # Networking options > # > CONFIG_NET_NS=y > CONFIG_COMPAT_NET_DEV_OPS=y > CONFIG_PACKET=y > # CONFIG_PACKET_MMAP is not set > CONFIG_UNIX=y > CONFIG_XFRM=y > # CONFIG_XFRM_USER is not set > # CONFIG_XFRM_SUB_POLICY is not set > CONFIG_XFRM_MIGRATE=y > CONFIG_XFRM_STATISTICS=y > CONFIG_NET_KEY=y > CONFIG_NET_KEY_MIGRATE=y > CONFIG_INET=y > CONFIG_IP_MULTICAST=y > CONFIG_IP_ADVANCED_ROUTER=y > CONFIG_ASK_IP_FIB_HASH=y > # CONFIG_IP_FIB_TRIE is not set > CONFIG_IP_FIB_HASH=y > # CONFIG_IP_MULTIPLE_TABLES is not set > CONFIG_IP_ROUTE_MULTIPATH=y > # CONFIG_IP_ROUTE_VERBOSE is not set > # CONFIG_IP_PNP is not set > CONFIG_NET_IPIP=y > CONFIG_NET_IPGRE=y > CONFIG_NET_IPGRE_BROADCAST=y > # CONFIG_IP_MROUTE is not set > CONFIG_ARPD=y > CONFIG_SYN_COOKIES=y > CONFIG_INET_AH=y > CONFIG_INET_ESP=y > # CONFIG_INET_IPCOMP is not set > # CONFIG_INET_XFRM_TUNNEL is not set > CONFIG_INET_TUNNEL=y > CONFIG_INET_XFRM_MODE_TRANSPORT=y > # CONFIG_INET_XFRM_MODE_TUNNEL is not set > CONFIG_INET_XFRM_MODE_BEET=y > CONFIG_INET_LRO=y > CONFIG_INET_DIAG=y > CONFIG_INET_TCP_DIAG=y > CONFIG_TCP_CONG_ADVANCED=y > # CONFIG_TCP_CONG_BIC is not set > CONFIG_TCP_CONG_CUBIC=y > CONFIG_TCP_CONG_WESTWOOD=y > CONFIG_TCP_CONG_HTCP=y > CONFIG_TCP_CONG_HSTCP=y > # CONFIG_TCP_CONG_HYBLA is not set > CONFIG_TCP_CONG_VEGAS=y > CONFIG_TCP_CONG_SCALABLE=y > # CONFIG_TCP_CONG_LP is not set > CONFIG_TCP_CONG_VENO=y > CONFIG_TCP_CONG_YEAH=y > # CONFIG_TCP_CONG_ILLINOIS is not set > # CONFIG_DEFAULT_BIC is not set > CONFIG_DEFAULT_CUBIC=y > # CONFIG_DEFAULT_HTCP is not set > # CONFIG_DEFAULT_VEGAS is not set > # CONFIG_DEFAULT_WESTWOOD is not set > # CONFIG_DEFAULT_RENO is not set > CONFIG_DEFAULT_TCP_CONG="cubic" > # CONFIG_TCP_MD5SIG is not set > CONFIG_IPV6=y > CONFIG_IPV6_PRIVACY=y > # CONFIG_IPV6_ROUTER_PREF is not set > CONFIG_IPV6_OPTIMISTIC_DAD=y > CONFIG_INET6_AH=y > CONFIG_INET6_ESP=y > # CONFIG_INET6_IPCOMP is not set > # CONFIG_IPV6_MIP6 is not set > # CONFIG_INET6_XFRM_TUNNEL is not set > CONFIG_INET6_TUNNEL=y > # CONFIG_INET6_XFRM_MODE_TRANSPORT is not set > CONFIG_INET6_XFRM_MODE_TUNNEL=y > CONFIG_INET6_XFRM_MODE_BEET=y > # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set > CONFIG_IPV6_SIT=y > CONFIG_IPV6_NDISC_NODETYPE=y > CONFIG_IPV6_TUNNEL=y > CONFIG_IPV6_MULTIPLE_TABLES=y > CONFIG_IPV6_SUBTREES=y > CONFIG_IPV6_MROUTE=y > CONFIG_IPV6_PIMSM_V2=y > # CONFIG_NETLABEL is not set > # CONFIG_NETWORK_SECMARK is not set > CONFIG_NETFILTER=y > CONFIG_NETFILTER_DEBUG=y > CONFIG_NETFILTER_ADVANCED=y > > # > # Core Netfilter Configuration > # > CONFIG_NETFILTER_NETLINK=y > CONFIG_NETFILTER_NETLINK_QUEUE=y > CONFIG_NETFILTER_NETLINK_LOG=y > CONFIG_NF_CONNTRACK=y > CONFIG_NF_CT_ACCT=y > CONFIG_NF_CONNTRACK_MARK=y > # CONFIG_NF_CONNTRACK_EVENTS is not set > CONFIG_NF_CT_PROTO_DCCP=y > CONFIG_NF_CT_PROTO_GRE=y > # CONFIG_NF_CT_PROTO_SCTP is not set > CONFIG_NF_CT_PROTO_UDPLITE=y > CONFIG_NF_CONNTRACK_AMANDA=y > CONFIG_NF_CONNTRACK_FTP=y > CONFIG_NF_CONNTRACK_H323=y > CONFIG_NF_CONNTRACK_IRC=y > # CONFIG_NF_CONNTRACK_NETBIOS_NS is not set > CONFIG_NF_CONNTRACK_PPTP=y > # CONFIG_NF_CONNTRACK_SANE is not set > CONFIG_NF_CONNTRACK_SIP=y > # CONFIG_NF_CONNTRACK_TFTP is not set > # CONFIG_NF_CT_NETLINK is not set > CONFIG_NETFILTER_XTABLES=y > CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y > CONFIG_NETFILTER_XT_TARGET_CONNMARK=y > CONFIG_NETFILTER_XT_TARGET_MARK=y > # CONFIG_NETFILTER_XT_TARGET_NFLOG is not set > # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set > CONFIG_NETFILTER_XT_TARGET_RATEEST=y > CONFIG_NETFILTER_XT_TARGET_TCPMSS=y > CONFIG_NETFILTER_XT_MATCH_COMMENT=y > # CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set > # CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set > CONFIG_NETFILTER_XT_MATCH_CONNMARK=y > CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y > CONFIG_NETFILTER_XT_MATCH_DCCP=y > # CONFIG_NETFILTER_XT_MATCH_DSCP is not set > CONFIG_NETFILTER_XT_MATCH_ESP=y > # CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set > # CONFIG_NETFILTER_XT_MATCH_HELPER is not set > CONFIG_NETFILTER_XT_MATCH_IPRANGE=y > CONFIG_NETFILTER_XT_MATCH_LENGTH=y > # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set > # CONFIG_NETFILTER_XT_MATCH_MAC is not set > CONFIG_NETFILTER_XT_MATCH_MARK=y > # CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set > # CONFIG_NETFILTER_XT_MATCH_OWNER is not set > CONFIG_NETFILTER_XT_MATCH_POLICY=y > # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set > CONFIG_NETFILTER_XT_MATCH_QUOTA=y > CONFIG_NETFILTER_XT_MATCH_RATEEST=y > CONFIG_NETFILTER_XT_MATCH_REALM=y > # CONFIG_NETFILTER_XT_MATCH_RECENT is not set > # CONFIG_NETFILTER_XT_MATCH_SCTP is not set > # CONFIG_NETFILTER_XT_MATCH_STATE is not set > CONFIG_NETFILTER_XT_MATCH_STATISTIC=y > CONFIG_NETFILTER_XT_MATCH_STRING=y > # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set > CONFIG_NETFILTER_XT_MATCH_TIME=y > CONFIG_NETFILTER_XT_MATCH_U32=y > CONFIG_IP_VS=y > CONFIG_IP_VS_IPV6=y > CONFIG_IP_VS_DEBUG=y > CONFIG_IP_VS_TAB_BITS=12 > > # > # IPVS transport protocol load balancing support > # > CONFIG_IP_VS_PROTO_TCP=y > # CONFIG_IP_VS_PROTO_UDP is not set > CONFIG_IP_VS_PROTO_AH_ESP=y > CONFIG_IP_VS_PROTO_ESP=y > CONFIG_IP_VS_PROTO_AH=y > > # > # IPVS scheduler > # > # CONFIG_IP_VS_RR is not set > CONFIG_IP_VS_WRR=y > CONFIG_IP_VS_LC=y > CONFIG_IP_VS_WLC=y > CONFIG_IP_VS_LBLC=y > CONFIG_IP_VS_LBLCR=y > CONFIG_IP_VS_DH=y > # CONFIG_IP_VS_SH is not set > CONFIG_IP_VS_SED=y > CONFIG_IP_VS_NQ=y > > # > # IPVS application helper > # > CONFIG_IP_VS_FTP=y > > # > # IP: Netfilter Configuration > # > CONFIG_NF_DEFRAG_IPV4=y > CONFIG_NF_CONNTRACK_IPV4=y > # CONFIG_NF_CONNTRACK_PROC_COMPAT is not set > CONFIG_IP_NF_QUEUE=y > # CONFIG_IP_NF_IPTABLES is not set > CONFIG_IP_NF_ARPTABLES=y > CONFIG_IP_NF_ARPFILTER=y > # CONFIG_IP_NF_ARP_MANGLE is not set > > # > # IPv6: Netfilter Configuration > # > CONFIG_NF_CONNTRACK_IPV6=y > CONFIG_IP6_NF_QUEUE=y > # CONFIG_IP6_NF_IPTABLES is not set > CONFIG_IP_DCCP=y > CONFIG_INET_DCCP_DIAG=y > > # > # DCCP CCIDs Configuration (EXPERIMENTAL) > # > CONFIG_IP_DCCP_CCID2_DEBUG=y > # CONFIG_IP_DCCP_CCID3 is not set > > # > # DCCP Kernel Hacking > # > CONFIG_IP_DCCP_DEBUG=y > CONFIG_IP_SCTP=y > # CONFIG_SCTP_DBG_MSG is not set > CONFIG_SCTP_DBG_OBJCNT=y > # CONFIG_SCTP_HMAC_NONE is not set > # CONFIG_SCTP_HMAC_SHA1 is not set > CONFIG_SCTP_HMAC_MD5=y > CONFIG_TIPC=y > # CONFIG_TIPC_ADVANCED is not set > CONFIG_TIPC_DEBUG=y > # CONFIG_ATM is not set > # CONFIG_BRIDGE is not set > CONFIG_NET_DSA=y > CONFIG_NET_DSA_TAG_DSA=y > CONFIG_NET_DSA_TAG_EDSA=y > CONFIG_NET_DSA_TAG_TRAILER=y > CONFIG_NET_DSA_MV88E6XXX=y > CONFIG_NET_DSA_MV88E6060=y > CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y > CONFIG_NET_DSA_MV88E6131=y > CONFIG_NET_DSA_MV88E6123_61_65=y > CONFIG_VLAN_8021Q=y > # CONFIG_VLAN_8021Q_GVRP is not set > # CONFIG_DECNET is not set > CONFIG_LLC=y > CONFIG_LLC2=y > CONFIG_IPX=y > CONFIG_IPX_INTERN=y > CONFIG_ATALK=y > CONFIG_DEV_APPLETALK=y > CONFIG_IPDDP=y > # CONFIG_IPDDP_ENCAP is not set > CONFIG_IPDDP_DECAP=y > CONFIG_X25=y > CONFIG_LAPB=y > CONFIG_ECONET=y > # CONFIG_ECONET_AUNUDP is not set > CONFIG_ECONET_NATIVE=y > CONFIG_WAN_ROUTER=y > # CONFIG_NET_SCHED is not set > CONFIG_NET_CLS_ROUTE=y > CONFIG_DCB=y > > # > # Network testing > # > CONFIG_NET_PKTGEN=y > # CONFIG_HAMRADIO is not set > CONFIG_CAN=y > # CONFIG_CAN_RAW is not set > CONFIG_CAN_BCM=y > > # > # CAN Device Drivers > # > # CONFIG_CAN_VCAN is not set > CONFIG_CAN_DEBUG_DEVICES=y > CONFIG_IRDA=y > > # > # IrDA protocols > # > CONFIG_IRLAN=y > CONFIG_IRNET=y > # CONFIG_IRCOMM is not set > # CONFIG_IRDA_ULTRA is not set > > # > # IrDA options > # > # CONFIG_IRDA_CACHE_LAST_LSAP is not set > # CONFIG_IRDA_FAST_RR is not set > CONFIG_IRDA_DEBUG=y > > # > # Infrared-port device drivers > # > > # > # SIR device drivers > # > CONFIG_IRTTY_SIR=y > > # > # Dongle support > # > CONFIG_DONGLE=y > CONFIG_ESI_DONGLE=y > # CONFIG_ACTISYS_DONGLE is not set > CONFIG_TEKRAM_DONGLE=y > CONFIG_TOIM3232_DONGLE=y > # CONFIG_LITELINK_DONGLE is not set > # CONFIG_MA600_DONGLE is not set > CONFIG_GIRBIL_DONGLE=y > CONFIG_MCP2120_DONGLE=y > # CONFIG_OLD_BELKIN_DONGLE is not set > CONFIG_ACT200L_DONGLE=y > # CONFIG_KINGSUN_DONGLE is not set > # CONFIG_KSDAZZLE_DONGLE is not set > CONFIG_KS959_DONGLE=y > > # > # FIR device drivers > # > CONFIG_USB_IRDA=y > CONFIG_SIGMATEL_FIR=y > # CONFIG_NSC_FIR is not set > # CONFIG_WINBOND_FIR is not set > CONFIG_SMC_IRCC_FIR=y > CONFIG_ALI_FIR=y > CONFIG_VLSI_FIR=y > CONFIG_VIA_FIR=y > CONFIG_MCS_FIR=y > # CONFIG_BT is not set > CONFIG_AF_RXRPC=y > CONFIG_AF_RXRPC_DEBUG=y > # CONFIG_RXKAD is not set > CONFIG_PHONET=y > CONFIG_FIB_RULES=y > CONFIG_WIRELESS=y > CONFIG_CFG80211=y > CONFIG_CFG80211_REG_DEBUG=y > CONFIG_NL80211=y > CONFIG_WIRELESS_OLD_REGULATORY=y > CONFIG_WIRELESS_EXT=y > # CONFIG_WIRELESS_EXT_SYSFS is not set > CONFIG_LIB80211=y > CONFIG_LIB80211_CRYPT_WEP=y > CONFIG_LIB80211_CRYPT_CCMP=y > CONFIG_LIB80211_CRYPT_TKIP=y > CONFIG_MAC80211=y > > # > # Rate control algorithm selection > # > CONFIG_MAC80211_RC_MINSTREL=y > # CONFIG_MAC80211_RC_DEFAULT_PID is not set > CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y > CONFIG_MAC80211_RC_DEFAULT="minstrel" > # CONFIG_MAC80211_MESH is not set > CONFIG_MAC80211_LEDS=y > CONFIG_MAC80211_DEBUGFS=y > CONFIG_MAC80211_DEBUG_MENU=y > CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y > CONFIG_MAC80211_NOINLINE=y > CONFIG_MAC80211_VERBOSE_DEBUG=y > CONFIG_MAC80211_HT_DEBUG=y > # CONFIG_MAC80211_TKIP_DEBUG is not set > # CONFIG_MAC80211_IBSS_DEBUG is not set > # CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set > # CONFIG_MAC80211_DEBUG_COUNTERS is not set > CONFIG_MAC80211_VERBOSE_SPECT_MGMT_DEBUG=y > CONFIG_WIMAX=y > CONFIG_WIMAX_DEBUG_LEVEL=8 > CONFIG_RFKILL=y > CONFIG_RFKILL_INPUT=y > CONFIG_RFKILL_LEDS=y > > # > # Device Drivers > # > > # > # Generic Driver Options > # > CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" > CONFIG_STANDALONE=y > CONFIG_PREVENT_FIRMWARE_BUILD=y > CONFIG_FW_LOADER=y > CONFIG_FIRMWARE_IN_KERNEL=y > CONFIG_EXTRA_FIRMWARE="" > CONFIG_DEBUG_DRIVER=y > CONFIG_DEBUG_DEVRES=y > # CONFIG_SYS_HYPERVISOR is not set > CONFIG_CONNECTOR=y > # CONFIG_PROC_EVENTS is not set > CONFIG_PARPORT=y > # CONFIG_PARPORT_PC is not set > # CONFIG_PARPORT_GSC is not set > # CONFIG_PARPORT_AX88796 is not set > CONFIG_PARPORT_1284=y > CONFIG_PARPORT_NOT_PC=y > CONFIG_PNP=y > # CONFIG_PNP_DEBUG_MESSAGES is not set > > # > # Protocols > # > CONFIG_PNPACPI=y > CONFIG_BLK_DEV=y > CONFIG_BLK_DEV_FD=y > CONFIG_BLK_CPQ_DA=y > # CONFIG_BLK_CPQ_CISS_DA is not set > CONFIG_BLK_DEV_DAC960=y > CONFIG_BLK_DEV_UMEM=y > # CONFIG_BLK_DEV_COW_COMMON is not set > CONFIG_BLK_DEV_LOOP=y > CONFIG_BLK_DEV_CRYPTOLOOP=y > # CONFIG_BLK_DEV_NBD is not set > CONFIG_BLK_DEV_SX8=y > CONFIG_BLK_DEV_UB=y > # CONFIG_BLK_DEV_RAM is not set > # CONFIG_CDROM_PKTCDVD is not set > CONFIG_ATA_OVER_ETH=y > CONFIG_VIRTIO_BLK=y > CONFIG_BLK_DEV_HD=y > CONFIG_MISC_DEVICES=y > CONFIG_IBM_ASM=y > CONFIG_PHANTOM=y > CONFIG_EEPROM_93CX6=y > CONFIG_SGI_IOC4=y > CONFIG_TIFM_CORE=y > CONFIG_TIFM_7XX1=y > # CONFIG_ACER_WMI is not set > CONFIG_FUJITSU_LAPTOP=y > CONFIG_FUJITSU_LAPTOP_DEBUG=y > # CONFIG_HP_WMI is not set > CONFIG_ICS932S401=y > # CONFIG_MSI_LAPTOP is not set > CONFIG_PANASONIC_LAPTOP=y > CONFIG_COMPAL_LAPTOP=y > CONFIG_SONY_LAPTOP=y > # CONFIG_SONYPI_COMPAT is not set > # CONFIG_THINKPAD_ACPI is not set > CONFIG_INTEL_MENLOW=y > # CONFIG_EEEPC_LAPTOP is not set > CONFIG_ENCLOSURE_SERVICES=y > CONFIG_SGI_XP=y > CONFIG_HP_ILO=y > CONFIG_SGI_GRU=y > CONFIG_SGI_GRU_DEBUG=y > CONFIG_C2PORT=y > CONFIG_C2PORT_DURAMAR_2150=y > CONFIG_HAVE_IDE=y > > # > # SCSI device support > # > CONFIG_RAID_ATTRS=y > CONFIG_SCSI=y > CONFIG_SCSI_DMA=y > CONFIG_SCSI_TGT=y > # CONFIG_SCSI_NETLINK is not set > # CONFIG_SCSI_PROC_FS is not set > > # > # SCSI support type (disk, tape, CD-ROM) > # > CONFIG_BLK_DEV_SD=y > CONFIG_CHR_DEV_ST=y > CONFIG_CHR_DEV_OSST=y > CONFIG_BLK_DEV_SR=y > # CONFIG_BLK_DEV_SR_VENDOR is not set > # CONFIG_CHR_DEV_SG is not set > # CONFIG_CHR_DEV_SCH is not set > CONFIG_SCSI_ENCLOSURE=y > > # > # Some SCSI devices (e.g. CD jukebox) support multiple LUNs > # > # CONFIG_SCSI_MULTI_LUN is not set > CONFIG_SCSI_CONSTANTS=y > # CONFIG_SCSI_LOGGING is not set > CONFIG_SCSI_SCAN_ASYNC=y > > # > # SCSI Transports > # > CONFIG_SCSI_SPI_ATTRS=y > # CONFIG_SCSI_FC_ATTRS is not set > # CONFIG_SCSI_ISCSI_ATTRS is not set > CONFIG_SCSI_SAS_ATTRS=y > CONFIG_SCSI_SRP_ATTRS=y > # CONFIG_SCSI_SRP_TGT_ATTRS is not set > # CONFIG_SCSI_LOWLEVEL is not set > CONFIG_SCSI_AIC7XXX=y > CONFIG_SCSI_LOWLEVEL_PCMCIA=y > # CONFIG_SCSI_DH is not set > CONFIG_ATA=y > # CONFIG_ATA_NONSTANDARD is not set > CONFIG_ATA_ACPI=y > CONFIG_SATA_PMP=y > CONFIG_SATA_AHCI=y > # CONFIG_SATA_SIL24 is not set > CONFIG_ATA_SFF=y > # CONFIG_SATA_SVW is not set > CONFIG_ATA_PIIX=y > CONFIG_SATA_MV=y > CONFIG_SATA_NV=y > CONFIG_PDC_ADMA=y > CONFIG_SATA_QSTOR=y > CONFIG_SATA_PROMISE=y > # CONFIG_SATA_SX4 is not set > # CONFIG_SATA_SIL is not set > CONFIG_SATA_SIS=y > CONFIG_SATA_ULI=y > CONFIG_SATA_VIA=y > # CONFIG_SATA_VITESSE is not set > CONFIG_SATA_INIC162X=y > CONFIG_PATA_ACPI=y > CONFIG_PATA_ALI=y > CONFIG_PATA_AMD=y > CONFIG_PATA_ARTOP=y > CONFIG_PATA_ATIIXP=y > CONFIG_PATA_CMD640_PCI=y > # CONFIG_PATA_CMD64X is not set > CONFIG_PATA_CS5520=y > # CONFIG_PATA_CS5530 is not set > CONFIG_PATA_CYPRESS=y > CONFIG_PATA_EFAR=y > CONFIG_ATA_GENERIC=y > CONFIG_PATA_HPT366=y > CONFIG_PATA_HPT37X=y > # CONFIG_PATA_HPT3X2N is not set > CONFIG_PATA_HPT3X3=y > # CONFIG_PATA_HPT3X3_DMA is not set > # CONFIG_PATA_IT821X is not set > CONFIG_PATA_IT8213=y > CONFIG_PATA_JMICRON=y > CONFIG_PATA_TRIFLEX=y > CONFIG_PATA_MARVELL=y > CONFIG_PATA_MPIIX=y > CONFIG_PATA_OLDPIIX=y > CONFIG_PATA_NETCELL=y > CONFIG_PATA_NINJA32=y > CONFIG_PATA_NS87410=y > # CONFIG_PATA_NS87415 is not set > CONFIG_PATA_OPTI=y > # CONFIG_PATA_OPTIDMA is not set > # CONFIG_PATA_PCMCIA is not set > CONFIG_PATA_PDC_OLD=y > CONFIG_PATA_RADISYS=y > CONFIG_PATA_RZ1000=y > CONFIG_PATA_SC1200=y > # CONFIG_PATA_SERVERWORKS is not set > CONFIG_PATA_PDC2027X=y > CONFIG_PATA_SIL680=y > CONFIG_PATA_SIS=y > # CONFIG_PATA_VIA is not set > CONFIG_PATA_WINBOND=y > CONFIG_PATA_SCH=y > CONFIG_MD=y > # CONFIG_BLK_DEV_MD is not set > CONFIG_BLK_DEV_DM=y > CONFIG_DM_DEBUG=y > CONFIG_DM_CRYPT=y > CONFIG_DM_SNAPSHOT=y > CONFIG_DM_MIRROR=y > CONFIG_DM_ZERO=y > CONFIG_DM_MULTIPATH=y > # CONFIG_DM_DELAY is not set > # CONFIG_DM_UEVENT is not set > # CONFIG_FUSION is not set > > # > # IEEE 1394 (FireWire) support > # > > # > # Enable only one of the two stacks, unless you know what you are doing > # > CONFIG_FIREWIRE=y > CONFIG_FIREWIRE_OHCI=y > CONFIG_FIREWIRE_OHCI_DEBUG=y > # CONFIG_FIREWIRE_SBP2 is not set > # CONFIG_IEEE1394 is not set > CONFIG_I2O=y > CONFIG_I2O_LCT_NOTIFY_ON_CHANGES=y > # CONFIG_I2O_EXT_ADAPTEC is not set > CONFIG_I2O_BUS=y > CONFIG_I2O_BLOCK=y > # CONFIG_I2O_SCSI is not set > CONFIG_I2O_PROC=y > CONFIG_MACINTOSH_DRIVERS=y > CONFIG_MAC_EMUMOUSEBTN=y > CONFIG_NETDEVICES=y > # CONFIG_DUMMY is not set > CONFIG_BONDING=y > CONFIG_MACVLAN=y > CONFIG_EQUALIZER=y > CONFIG_TUN=y > CONFIG_VETH=y > # CONFIG_NET_SB1000 is not set > CONFIG_ARCNET=y > CONFIG_ARCNET_1201=y > CONFIG_ARCNET_1051=y > CONFIG_ARCNET_RAW=y > # CONFIG_ARCNET_CAP is not set > # CONFIG_ARCNET_COM90xx is not set > # CONFIG_ARCNET_COM90xxIO is not set > CONFIG_ARCNET_RIM_I=y > # CONFIG_ARCNET_COM20020 is not set > CONFIG_PHYLIB=y > > # > # MII PHY device drivers > # > # CONFIG_MARVELL_PHY is not set > # CONFIG_DAVICOM_PHY is not set > CONFIG_QSEMI_PHY=y > CONFIG_LXT_PHY=y > CONFIG_CICADA_PHY=y > CONFIG_VITESSE_PHY=y > CONFIG_SMSC_PHY=y > # CONFIG_BROADCOM_PHY is not set > # CONFIG_ICPLUS_PHY is not set > CONFIG_REALTEK_PHY=y > CONFIG_NATIONAL_PHY=y > CONFIG_STE10XP=y > CONFIG_LSI_ET1011C_PHY=y > # CONFIG_FIXED_PHY is not set > CONFIG_MDIO_BITBANG=y > CONFIG_NET_ETHERNET=y > CONFIG_MII=y > # CONFIG_HAPPYMEAL is not set > CONFIG_SUNGEM=y > # CONFIG_CASSINI is not set > CONFIG_NET_VENDOR_3COM=y > CONFIG_VORTEX=y > CONFIG_TYPHOON=y > CONFIG_ENC28J60=y > CONFIG_ENC28J60_WRITEVERIFY=y > CONFIG_NET_TULIP=y > # CONFIG_DE2104X is not set > CONFIG_TULIP=y > CONFIG_TULIP_MWI=y > CONFIG_TULIP_MMIO=y > # CONFIG_TULIP_NAPI is not set > CONFIG_DE4X5=y > CONFIG_WINBOND_840=y > CONFIG_DM9102=y > # CONFIG_ULI526X is not set > # CONFIG_PCMCIA_XIRCOM is not set > CONFIG_HP100=y > # CONFIG_IBM_NEW_EMAC_ZMII is not set > # CONFIG_IBM_NEW_EMAC_RGMII is not set > # CONFIG_IBM_NEW_EMAC_TAH is not set > # CONFIG_IBM_NEW_EMAC_EMAC4 is not set > # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set > # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set > # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set > CONFIG_NET_PCI=y > CONFIG_PCNET32=y > # CONFIG_AMD8111_ETH is not set > CONFIG_ADAPTEC_STARFIRE=y > CONFIG_B44=y > CONFIG_B44_PCI_AUTOSELECT=y > CONFIG_B44_PCICORE_AUTOSELECT=y > CONFIG_B44_PCI=y > CONFIG_FORCEDETH=y > # CONFIG_FORCEDETH_NAPI is not set > CONFIG_E100=y > CONFIG_FEALNX=y > CONFIG_NATSEMI=y > CONFIG_NE2K_PCI=y > CONFIG_8139CP=y > CONFIG_8139TOO=y > # CONFIG_8139TOO_PIO is not set > # CONFIG_8139TOO_TUNE_TWISTER is not set > CONFIG_8139TOO_8129=y > # CONFIG_8139_OLD_RX_RESET is not set > # CONFIG_R6040 is not set > # CONFIG_SIS900 is not set > # CONFIG_EPIC100 is not set > # CONFIG_SMSC9420 is not set > CONFIG_SUNDANCE=y > CONFIG_SUNDANCE_MMIO=y > CONFIG_TLAN=y > CONFIG_VIA_RHINE=y > CONFIG_VIA_RHINE_MMIO=y > CONFIG_SC92031=y > # CONFIG_NET_POCKET is not set > CONFIG_ATL2=y > CONFIG_NETDEV_1000=y > CONFIG_ACENIC=y > CONFIG_ACENIC_OMIT_TIGON_I=y > # CONFIG_DL2K is not set > # CONFIG_E1000 is not set > CONFIG_E1000E=y > CONFIG_IP1000=y > # CONFIG_IGB is not set > CONFIG_NS83820=y > CONFIG_HAMACHI=y > # CONFIG_YELLOWFIN is not set > # CONFIG_R8169 is not set > # CONFIG_SIS190 is not set > # CONFIG_SKGE is not set > # CONFIG_SKY2 is not set > CONFIG_VIA_VELOCITY=y > CONFIG_TIGON3=y > CONFIG_BNX2=y > CONFIG_QLA3XXX=y > CONFIG_ATL1=y > # CONFIG_ATL1E is not set > # CONFIG_JME is not set > # CONFIG_NETDEV_10000 is not set > # CONFIG_TR is not set > > # > # Wireless LAN > # > CONFIG_WLAN_PRE80211=y > CONFIG_STRIP=y > # CONFIG_PCMCIA_WAVELAN is not set > CONFIG_PCMCIA_NETWAVE=y > CONFIG_WLAN_80211=y > CONFIG_PCMCIA_RAYCS=y > # CONFIG_LIBERTAS is not set > # CONFIG_LIBERTAS_THINFIRM is not set > CONFIG_AIRO=y > CONFIG_HERMES=y > CONFIG_HERMES_CACHE_FW_ON_INIT=y > CONFIG_PLX_HERMES=y > CONFIG_TMD_HERMES=y > CONFIG_NORTEL_HERMES=y > CONFIG_PCI_HERMES=y > CONFIG_PCMCIA_HERMES=y > CONFIG_PCMCIA_SPECTRUM=y > CONFIG_ATMEL=y > CONFIG_PCI_ATMEL=y > CONFIG_PCMCIA_ATMEL=y > # CONFIG_AIRO_CS is not set > CONFIG_PCMCIA_WL3501=y > CONFIG_PRISM54=y > CONFIG_USB_ZD1201=y > CONFIG_USB_NET_RNDIS_WLAN=y > # CONFIG_RTL8180 is not set > CONFIG_RTL8187=y > # CONFIG_ADM8211 is not set > # CONFIG_MAC80211_HWSIM is not set > CONFIG_P54_COMMON=y > CONFIG_P54_USB=y > # CONFIG_P54_PCI is not set > CONFIG_ATH5K=y > # CONFIG_ATH5K_DEBUG is not set > CONFIG_ATH9K=y > CONFIG_ATH9K_DEBUG=y > # CONFIG_IPW2100 is not set > CONFIG_IPW2200=y > CONFIG_IPW2200_MONITOR=y > CONFIG_IPW2200_RADIOTAP=y > CONFIG_IPW2200_PROMISCUOUS=y > CONFIG_IPW2200_QOS=y > CONFIG_IPW2200_DEBUG=y > CONFIG_LIBIPW=y > CONFIG_LIBIPW_DEBUG=y > CONFIG_IWLWIFI=y > CONFIG_IWLCORE=y > # CONFIG_IWLWIFI_LEDS is not set > # CONFIG_IWLWIFI_RFKILL is not set > CONFIG_IWLWIFI_DEBUG=y > CONFIG_IWLWIFI_DEBUGFS=y > CONFIG_IWLAGN=y > CONFIG_IWLAGN_SPECTRUM_MEASUREMENT=y > # CONFIG_IWLAGN_LEDS is not set > # CONFIG_IWL4965 is not set > # CONFIG_IWL5000 is not set > # CONFIG_IWL3945 is not set > CONFIG_HOSTAP=y > CONFIG_HOSTAP_FIRMWARE=y > CONFIG_HOSTAP_FIRMWARE_NVRAM=y > # CONFIG_HOSTAP_PLX is not set > CONFIG_HOSTAP_PCI=y > CONFIG_HOSTAP_CS=y > CONFIG_B43=y > CONFIG_B43_PCI_AUTOSELECT=y > CONFIG_B43_PCICORE_AUTOSELECT=y > CONFIG_B43_PCMCIA=y > CONFIG_B43_PIO=y > CONFIG_B43_LEDS=y > CONFIG_B43_RFKILL=y > CONFIG_B43_DEBUG=y > CONFIG_B43_FORCE_PIO=y > # CONFIG_B43LEGACY is not set > # CONFIG_ZD1211RW is not set > > # > # WiMAX Wireless Broadband devices > # > > # > # Enable MMC support to see WiMAX SDIO drivers > # > > # > # USB Network Adapters > # > # CONFIG_USB_CATC is not set > CONFIG_USB_KAWETH=y > CONFIG_USB_PEGASUS=y > # CONFIG_USB_RTL8150 is not set > CONFIG_USB_USBNET=y > CONFIG_USB_NET_AX8817X=y > CONFIG_USB_NET_CDCETHER=y > # CONFIG_USB_NET_DM9601 is not set > CONFIG_USB_NET_SMSC95XX=y > CONFIG_USB_NET_GL620A=y > # CONFIG_USB_NET_NET1080 is not set > CONFIG_USB_NET_PLUSB=y > CONFIG_USB_NET_MCS7830=y > CONFIG_USB_NET_RNDIS_HOST=y > # CONFIG_USB_NET_CDC_SUBSET is not set > CONFIG_USB_NET_ZAURUS=y > # CONFIG_USB_HSO is not set > CONFIG_NET_PCMCIA=y > CONFIG_PCMCIA_3C589=y > CONFIG_PCMCIA_3C574=y > CONFIG_PCMCIA_FMVJ18X=y > CONFIG_PCMCIA_PCNET=y > CONFIG_PCMCIA_NMCLAN=y > CONFIG_PCMCIA_SMC91C92=y > # CONFIG_PCMCIA_XIRC2PS is not set > CONFIG_PCMCIA_AXNET=y > CONFIG_WAN=y > CONFIG_LANMEDIA=y > CONFIG_HDLC=y > CONFIG_HDLC_RAW=y > # CONFIG_HDLC_RAW_ETH is not set > # CONFIG_HDLC_CISCO is not set > CONFIG_HDLC_FR=y > CONFIG_HDLC_PPP=y > # CONFIG_HDLC_X25 is not set > CONFIG_PCI200SYN=y > # CONFIG_WANXL is not set > CONFIG_PC300TOO=y > # CONFIG_FARSYNC is not set > CONFIG_DLCI=y > CONFIG_DLCI_MAX=8 > CONFIG_WAN_ROUTER_DRIVERS=y > CONFIG_CYCLADES_SYNC=y > # CONFIG_CYCLOMX_X25 is not set > CONFIG_LAPBETHER=y > CONFIG_X25_ASY=y > # CONFIG_SBNI is not set > # CONFIG_FDDI is not set > CONFIG_HIPPI=y > # CONFIG_ROADRUNNER is not set > CONFIG_PLIP=y > CONFIG_PPP=y > CONFIG_PPP_MULTILINK=y > CONFIG_PPP_FILTER=y > CONFIG_PPP_ASYNC=y > CONFIG_PPP_SYNC_TTY=y > CONFIG_PPP_DEFLATE=y > CONFIG_PPP_BSDCOMP=y > CONFIG_PPP_MPPE=y > CONFIG_PPPOE=y > # CONFIG_PPPOL2TP is not set > CONFIG_SLIP=y > CONFIG_SLIP_COMPRESSED=y > CONFIG_SLHC=y > CONFIG_SLIP_SMART=y > CONFIG_SLIP_MODE_SLIP6=y > # CONFIG_NET_FC is not set > CONFIG_NETCONSOLE=y > # CONFIG_NETCONSOLE_DYNAMIC is not set > CONFIG_NETPOLL=y > CONFIG_NETPOLL_TRAP=y > CONFIG_NET_POLL_CONTROLLER=y > CONFIG_VIRTIO_NET=y > CONFIG_ISDN=y > # CONFIG_ISDN_I4L is not set > CONFIG_ISDN_CAPI=y > CONFIG_ISDN_DRV_AVMB1_VERBOSE_REASON=y > CONFIG_CAPI_TRACE=y > CONFIG_ISDN_CAPI_MIDDLEWARE=y > CONFIG_ISDN_CAPI_CAPI20=y > # CONFIG_ISDN_CAPI_CAPIFS_BOOL is not set > > # > # CAPI hardware drivers > # > # CONFIG_CAPI_AVM is not set > # CONFIG_CAPI_EICON is not set > CONFIG_PHONE=y > > # > # Input device support > # > CONFIG_INPUT=y > CONFIG_INPUT_FF_MEMLESS=y > CONFIG_INPUT_POLLDEV=y > > # > # Userland interfaces > # > CONFIG_INPUT_MOUSEDEV=y > # CONFIG_INPUT_MOUSEDEV_PSAUX is not set > CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 > CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 > # CONFIG_INPUT_JOYDEV is not set > CONFIG_INPUT_EVDEV=y > CONFIG_INPUT_EVBUG=y > > # > # Input Device Drivers > # > CONFIG_INPUT_KEYBOARD=y > CONFIG_KEYBOARD_ATKBD=y > # CONFIG_KEYBOARD_SUNKBD is not set > CONFIG_KEYBOARD_LKKBD=y > CONFIG_KEYBOARD_XTKBD=y > CONFIG_KEYBOARD_NEWTON=y > CONFIG_KEYBOARD_STOWAWAY=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_MOUSE_PS2_ELANTECH is not set > # CONFIG_MOUSE_PS2_TOUCHKIT is not set > CONFIG_MOUSE_SERIAL=y > CONFIG_MOUSE_APPLETOUCH=y > # CONFIG_MOUSE_BCM5974 is not set > # CONFIG_MOUSE_VSXXXAA is not set > # CONFIG_INPUT_JOYSTICK is not set > CONFIG_INPUT_TABLET=y > CONFIG_TABLET_USB_ACECAD=y > CONFIG_TABLET_USB_AIPTEK=y > CONFIG_TABLET_USB_GTCO=y > # CONFIG_TABLET_USB_KBTAB is not set > CONFIG_TABLET_USB_WACOM=y > CONFIG_INPUT_TOUCHSCREEN=y > CONFIG_TOUCHSCREEN_ADS7846=y > CONFIG_TOUCHSCREEN_DA9034=y > CONFIG_TOUCHSCREEN_FUJITSU=y > CONFIG_TOUCHSCREEN_GUNZE=y > CONFIG_TOUCHSCREEN_ELO=y > CONFIG_TOUCHSCREEN_WACOM_W8001=y > # CONFIG_TOUCHSCREEN_MTOUCH is not set > CONFIG_TOUCHSCREEN_INEXIO=y > CONFIG_TOUCHSCREEN_MK712=y > CONFIG_TOUCHSCREEN_PENMOUNT=y > # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set > # CONFIG_TOUCHSCREEN_TOUCHWIN is not set > # CONFIG_TOUCHSCREEN_WM97XX is not set > # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set > CONFIG_TOUCHSCREEN_TOUCHIT213=y > # CONFIG_TOUCHSCREEN_TSC2007 is not set > CONFIG_INPUT_MISC=y > CONFIG_INPUT_PCSPKR=y > CONFIG_INPUT_APANEL=y > CONFIG_INPUT_ATLAS_BTNS=y > # CONFIG_INPUT_ATI_REMOTE is not set > CONFIG_INPUT_ATI_REMOTE2=y > CONFIG_INPUT_KEYSPAN_REMOTE=y > CONFIG_INPUT_POWERMATE=y > CONFIG_INPUT_YEALINK=y > # CONFIG_INPUT_CM109 is not set > # CONFIG_INPUT_UINPUT is not set > > # > # Hardware I/O ports > # > CONFIG_SERIO=y > CONFIG_SERIO_I8042=y > CONFIG_SERIO_SERPORT=y > CONFIG_SERIO_CT82C710=y > # CONFIG_SERIO_PARKBD is not set > CONFIG_SERIO_PCIPS2=y > CONFIG_SERIO_LIBPS2=y > # CONFIG_SERIO_RAW is not set > CONFIG_GAMEPORT=y > CONFIG_GAMEPORT_NS558=y > # CONFIG_GAMEPORT_L4 is not set > # CONFIG_GAMEPORT_EMU10K1 is not set > CONFIG_GAMEPORT_FM801=y > > # > # Character devices > # > CONFIG_VT=y > CONFIG_CONSOLE_TRANSLATIONS=y > CONFIG_VT_CONSOLE=y > CONFIG_HW_CONSOLE=y > CONFIG_VT_HW_CONSOLE_BINDING=y > # CONFIG_DEVKMEM is not set > # CONFIG_SERIAL_NONSTANDARD is not set > CONFIG_NOZOMI=y > > # > # Serial drivers > # > CONFIG_SERIAL_8250=y > CONFIG_SERIAL_8250_CONSOLE=y > CONFIG_FIX_EARLYCON_MEM=y > CONFIG_SERIAL_8250_PCI=y > CONFIG_SERIAL_8250_PNP=y > CONFIG_SERIAL_8250_CS=y > CONFIG_SERIAL_8250_NR_UARTS=4 > CONFIG_SERIAL_8250_RUNTIME_UARTS=4 > CONFIG_SERIAL_8250_EXTENDED=y > CONFIG_SERIAL_8250_MANY_PORTS=y > CONFIG_SERIAL_8250_SHARE_IRQ=y > # CONFIG_SERIAL_8250_DETECT_IRQ is not set > CONFIG_SERIAL_8250_RSA=y > > # > # Non-8250 serial port support > # > CONFIG_SERIAL_CORE=y > CONFIG_SERIAL_CORE_CONSOLE=y > CONFIG_CONSOLE_POLL=y > # CONFIG_SERIAL_JSM is not set > CONFIG_UNIX98_PTYS=y > # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set > # CONFIG_LEGACY_PTYS is not set > CONFIG_PRINTER=y > CONFIG_LP_CONSOLE=y > # CONFIG_PPDEV is not set > CONFIG_HVC_DRIVER=y > CONFIG_VIRTIO_CONSOLE=y > CONFIG_IPMI_HANDLER=y > CONFIG_IPMI_PANIC_EVENT=y > # CONFIG_IPMI_PANIC_STRING is not set > CONFIG_IPMI_DEVICE_INTERFACE=y > CONFIG_IPMI_SI=y > CONFIG_IPMI_WATCHDOG=y > # CONFIG_IPMI_POWEROFF is not set > CONFIG_HW_RANDOM=y > # CONFIG_HW_RANDOM_INTEL is not set > CONFIG_HW_RANDOM_AMD=y > CONFIG_HW_RANDOM_VIRTIO=y > CONFIG_NVRAM=y > CONFIG_RTC=y > CONFIG_R3964=y > CONFIG_APPLICOM=y > > # > # PCMCIA character devices > # > CONFIG_SYNCLINK_CS=y > # CONFIG_CARDMAN_4000 is not set > CONFIG_CARDMAN_4040=y > CONFIG_IPWIRELESS=y > # CONFIG_MWAVE is not set > # CONFIG_PC8736x_GPIO is not set > # CONFIG_RAW_DRIVER is not set > CONFIG_HPET=y > CONFIG_HPET_MMAP=y > # CONFIG_HANGCHECK_TIMER is not set > CONFIG_TCG_TPM=y > CONFIG_TCG_TIS=y > CONFIG_TCG_NSC=y > CONFIG_TCG_ATMEL=y > CONFIG_TCG_INFINEON=y > CONFIG_TELCLOCK=y > CONFIG_DEVPORT=y > CONFIG_I2C=y > CONFIG_I2C_BOARDINFO=y > CONFIG_I2C_CHARDEV=y > CONFIG_I2C_HELPER_AUTO=y > CONFIG_I2C_ALGOBIT=y > CONFIG_I2C_ALGOPCA=y > > # > # I2C Hardware Bus support > # > > # > # PC SMBus host controller drivers > # > # CONFIG_I2C_ALI1535 is not set > CONFIG_I2C_ALI1563=y > # CONFIG_I2C_ALI15X3 is not set > CONFIG_I2C_AMD756=y > # CONFIG_I2C_AMD8111 is not set > CONFIG_I2C_I801=y > CONFIG_I2C_ISCH=y > # CONFIG_I2C_PIIX4 is not set > # CONFIG_I2C_NFORCE2 is not set > CONFIG_I2C_SIS5595=y > CONFIG_I2C_SIS630=y > CONFIG_I2C_SIS96X=y > CONFIG_I2C_VIA=y > # CONFIG_I2C_VIAPRO is not set > > # > # I2C system bus drivers (mostly embedded / system-on-chip) > # > # CONFIG_I2C_OCORES is not set > # CONFIG_I2C_SIMTEC is not set > > # > # External I2C/SMBus adapter drivers > # > CONFIG_I2C_PARPORT=y > CONFIG_I2C_PARPORT_LIGHT=y > CONFIG_I2C_TAOS_EVM=y > CONFIG_I2C_TINY_USB=y > > # > # Graphics adapter I2C/DDC channel drivers > # > # CONFIG_I2C_VOODOO3 is not set > > # > # Other I2C/SMBus bus drivers > # > CONFIG_I2C_PCA_PLATFORM=y > > # > # Miscellaneous I2C Chip support > # > # CONFIG_DS1682 is not set > # CONFIG_AT24 is not set > CONFIG_SENSORS_EEPROM=y > CONFIG_SENSORS_PCF8574=y > # CONFIG_PCF8575 is not set > # CONFIG_SENSORS_PCA9539 is not set > CONFIG_SENSORS_PCF8591=y > CONFIG_SENSORS_MAX6875=y > CONFIG_SENSORS_TSL2550=y > # CONFIG_I2C_DEBUG_CORE is not set > CONFIG_I2C_DEBUG_ALGO=y > # CONFIG_I2C_DEBUG_BUS is not set > CONFIG_I2C_DEBUG_CHIP=y > CONFIG_SPI=y > CONFIG_SPI_DEBUG=y > CONFIG_SPI_MASTER=y > > # > # SPI Master Controller Drivers > # > CONFIG_SPI_BITBANG=y > CONFIG_SPI_BUTTERFLY=y > # CONFIG_SPI_LM70_LLP is not set > > # > # SPI Protocol Masters > # > CONFIG_SPI_AT25=y > # CONFIG_SPI_SPIDEV is not set > # CONFIG_SPI_TLE62X0 is not set > CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y > # CONFIG_GPIOLIB is not set > CONFIG_W1=y > CONFIG_W1_CON=y > > # > # 1-wire Bus Masters > # > CONFIG_W1_MASTER_MATROX=y > CONFIG_W1_MASTER_DS2490=y > CONFIG_W1_MASTER_DS2482=y > > # > # 1-wire Slaves > # > # CONFIG_W1_SLAVE_THERM is not set > CONFIG_W1_SLAVE_SMEM=y > CONFIG_W1_SLAVE_DS2433=y > # CONFIG_W1_SLAVE_DS2433_CRC is not set > CONFIG_W1_SLAVE_DS2760=y > CONFIG_W1_SLAVE_BQ27000=y > CONFIG_POWER_SUPPLY=y > CONFIG_POWER_SUPPLY_DEBUG=y > CONFIG_PDA_POWER=y > # CONFIG_BATTERY_DS2760 is not set > # CONFIG_BATTERY_BQ27x00 is not set > CONFIG_BATTERY_DA9030=y > CONFIG_HWMON=y > CONFIG_HWMON_VID=y > # CONFIG_SENSORS_ABITUGURU is not set > # CONFIG_SENSORS_ABITUGURU3 is not set > CONFIG_SENSORS_AD7414=y > CONFIG_SENSORS_AD7418=y > CONFIG_SENSORS_ADCXX=y > CONFIG_SENSORS_ADM1021=y > # CONFIG_SENSORS_ADM1025 is not set > CONFIG_SENSORS_ADM1026=y > CONFIG_SENSORS_ADM1029=y > CONFIG_SENSORS_ADM1031=y > CONFIG_SENSORS_ADM9240=y > CONFIG_SENSORS_ADT7462=y > CONFIG_SENSORS_ADT7470=y > # CONFIG_SENSORS_ADT7473 is not set > # CONFIG_SENSORS_K8TEMP is not set > CONFIG_SENSORS_ASB100=y > CONFIG_SENSORS_ATXP1=y > CONFIG_SENSORS_DS1621=y > CONFIG_SENSORS_I5K_AMB=y > CONFIG_SENSORS_F71805F=y > CONFIG_SENSORS_F71882FG=y > CONFIG_SENSORS_F75375S=y > CONFIG_SENSORS_FSCHER=y > CONFIG_SENSORS_FSCPOS=y > CONFIG_SENSORS_FSCHMD=y > CONFIG_SENSORS_GL518SM=y > CONFIG_SENSORS_GL520SM=y > CONFIG_SENSORS_CORETEMP=y > # CONFIG_SENSORS_IBMAEM is not set > CONFIG_SENSORS_IBMPEX=y > CONFIG_SENSORS_IT87=y > CONFIG_SENSORS_LM63=y > # CONFIG_SENSORS_LM70 is not set > CONFIG_SENSORS_LM75=y > CONFIG_SENSORS_LM77=y > CONFIG_SENSORS_LM78=y > # CONFIG_SENSORS_LM80 is not set > # CONFIG_SENSORS_LM83 is not set > CONFIG_SENSORS_LM85=y > # CONFIG_SENSORS_LM87 is not set > CONFIG_SENSORS_LM90=y > # CONFIG_SENSORS_LM92 is not set > # CONFIG_SENSORS_LM93 is not set > # CONFIG_SENSORS_LTC4245 is not set > CONFIG_SENSORS_MAX1111=y > CONFIG_SENSORS_MAX1619=y > CONFIG_SENSORS_MAX6650=y > CONFIG_SENSORS_PC87360=y > CONFIG_SENSORS_PC87427=y > CONFIG_SENSORS_SIS5595=y > # CONFIG_SENSORS_DME1737 is not set > CONFIG_SENSORS_SMSC47M1=y > # CONFIG_SENSORS_SMSC47M192 is not set > CONFIG_SENSORS_SMSC47B397=y > CONFIG_SENSORS_ADS7828=y > CONFIG_SENSORS_THMC50=y > CONFIG_SENSORS_VIA686A=y > # CONFIG_SENSORS_VT1211 is not set > CONFIG_SENSORS_VT8231=y > CONFIG_SENSORS_W83781D=y > CONFIG_SENSORS_W83791D=y > CONFIG_SENSORS_W83792D=y > # CONFIG_SENSORS_W83793 is not set > CONFIG_SENSORS_W83L785TS=y > CONFIG_SENSORS_W83L786NG=y > CONFIG_SENSORS_W83627HF=y > CONFIG_SENSORS_W83627EHF=y > CONFIG_SENSORS_HDAPS=y > CONFIG_SENSORS_LIS3LV02D=y > # CONFIG_SENSORS_APPLESMC is not set > CONFIG_HWMON_DEBUG_CHIP=y > CONFIG_THERMAL=y > CONFIG_THERMAL_HWMON=y > CONFIG_WATCHDOG=y > # CONFIG_WATCHDOG_NOWAYOUT is not set > > # > # Watchdog Device Drivers > # > CONFIG_SOFT_WATCHDOG=y > CONFIG_ACQUIRE_WDT=y > CONFIG_ADVANTECH_WDT=y > CONFIG_ALIM1535_WDT=y > CONFIG_ALIM7101_WDT=y > # CONFIG_SC520_WDT is not set > # CONFIG_IB700_WDT is not set > CONFIG_IBMASR=y > # CONFIG_WAFER_WDT is not set > # CONFIG_I6300ESB_WDT is not set > CONFIG_ITCO_WDT=y > CONFIG_ITCO_VENDOR_SUPPORT=y > CONFIG_IT8712F_WDT=y > CONFIG_IT87_WDT=y > CONFIG_HP_WATCHDOG=y > CONFIG_SC1200_WDT=y > # CONFIG_PC87413_WDT is not set > # CONFIG_60XX_WDT is not set > CONFIG_SBC8360_WDT=y > # CONFIG_CPU5_WDT is not set > # CONFIG_SMSC_SCH311X_WDT is not set > # CONFIG_SMSC37B787_WDT is not set > CONFIG_W83627HF_WDT=y > CONFIG_W83697HF_WDT=y > # CONFIG_W83697UG_WDT is not set > # CONFIG_W83877F_WDT is not set > CONFIG_W83977F_WDT=y > # CONFIG_MACHZ_WDT is not set > CONFIG_SBC_EPX_C3_WATCHDOG=y > > # > # PCI-based Watchdog Cards > # > CONFIG_PCIPCWATCHDOG=y > CONFIG_WDTPCI=y > CONFIG_WDT_501_PCI=y > > # > # USB-based Watchdog Cards > # > CONFIG_USBPCWATCHDOG=y > CONFIG_SSB_POSSIBLE=y > > # > # Sonics Silicon Backplane > # > CONFIG_SSB=y > CONFIG_SSB_SPROM=y > CONFIG_SSB_BLOCKIO=y > CONFIG_SSB_PCIHOST_POSSIBLE=y > CONFIG_SSB_PCIHOST=y > CONFIG_SSB_B43_PCI_BRIDGE=y > CONFIG_SSB_PCMCIAHOST_POSSIBLE=y > CONFIG_SSB_PCMCIAHOST=y > # CONFIG_SSB_DEBUG is not set > CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y > CONFIG_SSB_DRIVER_PCICORE=y > > # > # Multifunction device drivers > # > CONFIG_MFD_CORE=y > CONFIG_MFD_SM501=y > CONFIG_HTC_PASIC3=y > CONFIG_TWL4030_CORE=y > # CONFIG_MFD_TMIO is not set > CONFIG_PMIC_DA903X=y > CONFIG_MFD_WM8400=y > # CONFIG_REGULATOR is not set > > # > # Multimedia devices > # > > # > # Multimedia core support > # > # CONFIG_VIDEO_DEV is not set > CONFIG_DVB_CORE=y > CONFIG_VIDEO_MEDIA=y > > # > # Multimedia drivers > # > CONFIG_VIDEO_SAA7146=y > CONFIG_MEDIA_TUNER=y > # CONFIG_MEDIA_TUNER_CUSTOMIZE is not set > CONFIG_MEDIA_TUNER_SIMPLE=y > CONFIG_MEDIA_TUNER_TDA8290=y > CONFIG_MEDIA_TUNER_TDA827X=y > CONFIG_MEDIA_TUNER_TDA18271=y > CONFIG_MEDIA_TUNER_TDA9887=y > CONFIG_MEDIA_TUNER_TEA5761=y > CONFIG_MEDIA_TUNER_TEA5767=y > CONFIG_MEDIA_TUNER_MT20XX=y > CONFIG_MEDIA_TUNER_MT2060=y > CONFIG_MEDIA_TUNER_QT1010=y > CONFIG_MEDIA_TUNER_XC2028=y > CONFIG_MEDIA_TUNER_XC5000=y > CONFIG_MEDIA_TUNER_MXL5005S=y > CONFIG_VIDEO_IR=y > CONFIG_DVB_DYNAMIC_MINORS=y > CONFIG_DVB_CAPTURE_DRIVERS=y > > # > # Supported SAA7146 based PCI Adapters > # > CONFIG_TTPCI_EEPROM=y > CONFIG_DVB_BUDGET_CORE=y > CONFIG_DVB_BUDGET=y > CONFIG_DVB_BUDGET_CI=y > > # > # Supported USB Adapters > # > CONFIG_DVB_USB=y > CONFIG_DVB_USB_DEBUG=y > CONFIG_DVB_USB_A800=y > # CONFIG_DVB_USB_DIBUSB_MB is not set > CONFIG_DVB_USB_DIBUSB_MC=y > # CONFIG_DVB_USB_DIB0700 is not set > CONFIG_DVB_USB_UMT_010=y > # CONFIG_DVB_USB_CXUSB is not set > CONFIG_DVB_USB_M920X=y > CONFIG_DVB_USB_GL861=y > CONFIG_DVB_USB_AU6610=y > CONFIG_DVB_USB_DIGITV=y > CONFIG_DVB_USB_VP7045=y > CONFIG_DVB_USB_VP702X=y > CONFIG_DVB_USB_GP8PSK=y > CONFIG_DVB_USB_NOVA_T_USB2=y > CONFIG_DVB_USB_TTUSB2=y > CONFIG_DVB_USB_DTT200U=y > # CONFIG_DVB_USB_OPERA1 is not set > CONFIG_DVB_USB_AF9005=y > # CONFIG_DVB_USB_AF9005_REMOTE is not set > # CONFIG_DVB_USB_DW2102 is not set > CONFIG_DVB_USB_CINERGY_T2=y > # CONFIG_DVB_USB_ANYSEE is not set > CONFIG_DVB_USB_DTV5100=y > CONFIG_DVB_USB_AF9015=y > CONFIG_DVB_TTUSB_BUDGET=y > CONFIG_DVB_TTUSB_DEC=y > # CONFIG_DVB_SIANO_SMS1XXX is not set > > # > # Supported FlexCopII (B2C2) Adapters > # > CONFIG_DVB_B2C2_FLEXCOP=y > CONFIG_DVB_B2C2_FLEXCOP_PCI=y > # CONFIG_DVB_B2C2_FLEXCOP_USB is not set > CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y > > # > # Supported BT878 Adapters > # > > # > # Supported Pluto2 Adapters > # > CONFIG_DVB_PLUTO2=y > > # > # Supported SDMC DM1105 Adapters > # > # CONFIG_DVB_DM1105 is not set > > # > # Supported DVB Frontends > # > > # > # Customise DVB Frontends > # > # CONFIG_DVB_FE_CUSTOMISE is not set > > # > # Multistandard (satellite) frontends > # > CONFIG_DVB_STB0899=y > CONFIG_DVB_STB6100=y > > # > # DVB-S (satellite) frontends > # > CONFIG_DVB_CX24110=y > CONFIG_DVB_CX24123=y > CONFIG_DVB_MT312=y > CONFIG_DVB_S5H1420=y > CONFIG_DVB_STV0288=y > CONFIG_DVB_STB6000=y > CONFIG_DVB_STV0299=y > CONFIG_DVB_TDA8083=y > CONFIG_DVB_TDA10086=y > CONFIG_DVB_TDA8261=y > CONFIG_DVB_VES1X93=y > CONFIG_DVB_TUNER_ITD1000=y > CONFIG_DVB_TUNER_CX24113=y > CONFIG_DVB_TDA826X=y > CONFIG_DVB_TUA6100=y > # CONFIG_DVB_CX24116 is not set > CONFIG_DVB_SI21XX=y > > # > # DVB-T (terrestrial) frontends > # > CONFIG_DVB_SP8870=y > CONFIG_DVB_SP887X=y > CONFIG_DVB_CX22700=y > CONFIG_DVB_CX22702=y > CONFIG_DVB_DRX397XD=y > CONFIG_DVB_L64781=y > CONFIG_DVB_TDA1004X=y > CONFIG_DVB_NXT6000=y > CONFIG_DVB_MT352=y > CONFIG_DVB_ZL10353=y > # CONFIG_DVB_DIB3000MB is not set > CONFIG_DVB_DIB3000MC=y > CONFIG_DVB_DIB7000M=y > CONFIG_DVB_DIB7000P=y > CONFIG_DVB_TDA10048=y > > # > # DVB-C (cable) frontends > # > CONFIG_DVB_VES1820=y > CONFIG_DVB_TDA10021=y > CONFIG_DVB_TDA10023=y > CONFIG_DVB_STV0297=y > > # > # ATSC (North American/Korean Terrestrial/Cable DTV) frontends > # > CONFIG_DVB_NXT200X=y > CONFIG_DVB_OR51211=y > CONFIG_DVB_OR51132=y > CONFIG_DVB_BCM3510=y > CONFIG_DVB_LGDT330X=y > CONFIG_DVB_LGDT3304=y > CONFIG_DVB_S5H1409=y > CONFIG_DVB_AU8522=y > CONFIG_DVB_S5H1411=y > > # > # ISDB-T (terrestrial) frontends > # > CONFIG_DVB_S921=y > > # > # Digital terrestrial only tuners/PLL > # > CONFIG_DVB_PLL=y > CONFIG_DVB_TUNER_DIB0070=y > > # > # SEC control devices for DVB-S > # > CONFIG_DVB_LNBP21=y > # CONFIG_DVB_ISL6405 is not set > CONFIG_DVB_ISL6421=y > # CONFIG_DVB_LGS8GL5 is not set > > # > # Tools to develop new frontends > # > # CONFIG_DVB_DUMMY_FE is not set > CONFIG_DVB_AF9013=y > CONFIG_DAB=y > CONFIG_USB_DABUSB=y > > # > # Graphics support > # > CONFIG_AGP=y > CONFIG_AGP_AMD64=y > CONFIG_AGP_INTEL=y > CONFIG_AGP_SIS=y > CONFIG_AGP_VIA=y > CONFIG_DRM=y > CONFIG_DRM_TDFX=y > CONFIG_DRM_R128=y > CONFIG_DRM_RADEON=y > # CONFIG_DRM_I810 is not set > # CONFIG_DRM_I830 is not set > # CONFIG_DRM_I915 is not set > # CONFIG_DRM_MGA is not set > CONFIG_DRM_SIS=y > # CONFIG_DRM_VIA is not set > # CONFIG_DRM_SAVAGE is not set > # CONFIG_VGASTATE is not set > CONFIG_VIDEO_OUTPUT_CONTROL=y > # CONFIG_FB is not set > CONFIG_BACKLIGHT_LCD_SUPPORT=y > # CONFIG_LCD_CLASS_DEVICE is not set > CONFIG_BACKLIGHT_CLASS_DEVICE=y > CONFIG_BACKLIGHT_CORGI=y > # CONFIG_BACKLIGHT_PROGEAR is not set > # CONFIG_BACKLIGHT_DA903X is not set > CONFIG_BACKLIGHT_MBP_NVIDIA=y > CONFIG_BACKLIGHT_SAHARA=y > > # > # Display device support > # > CONFIG_DISPLAY_SUPPORT=y > > # > # Display hardware drivers > # > > # > # Console display driver support > # > CONFIG_VGA_CONSOLE=y > # CONFIG_VGACON_SOFT_SCROLLBACK is not set > CONFIG_DUMMY_CONSOLE=y > CONFIG_SOUND=y > CONFIG_SOUND_OSS_CORE=y > CONFIG_SND=y > CONFIG_SND_TIMER=y > CONFIG_SND_PCM=y > CONFIG_SND_HWDEP=y > CONFIG_SND_RAWMIDI=y > CONFIG_SND_JACK=y > CONFIG_SND_SEQUENCER=y > # CONFIG_SND_SEQ_DUMMY is not set > CONFIG_SND_OSSEMUL=y > CONFIG_SND_MIXER_OSS=y > CONFIG_SND_PCM_OSS=y > # CONFIG_SND_PCM_OSS_PLUGINS is not set > # CONFIG_SND_SEQUENCER_OSS is not set > CONFIG_SND_RTCTIMER=y > CONFIG_SND_SEQ_RTCTIMER_DEFAULT=y > # CONFIG_SND_DYNAMIC_MINORS is not set > CONFIG_SND_SUPPORT_OLD_API=y > # CONFIG_SND_VERBOSE_PROCFS is not set > # CONFIG_SND_VERBOSE_PRINTK is not set > CONFIG_SND_DEBUG=y > CONFIG_SND_DEBUG_VERBOSE=y > CONFIG_SND_VMASTER=y > CONFIG_SND_MPU401_UART=y > CONFIG_SND_OPL3_LIB=y > CONFIG_SND_VX_LIB=y > CONFIG_SND_AC97_CODEC=y > CONFIG_SND_DRIVERS=y > CONFIG_SND_DUMMY=y > CONFIG_SND_VIRMIDI=y > CONFIG_SND_MTPAV=y > # CONFIG_SND_MTS64 is not set > CONFIG_SND_SERIAL_U16550=y > CONFIG_SND_MPU401=y > # CONFIG_SND_PORTMAN2X4 is not set > # CONFIG_SND_AC97_POWER_SAVE is not set > CONFIG_SND_SB_COMMON=y > CONFIG_SND_SB16_DSP=y > CONFIG_SND_PCI=y > CONFIG_SND_AD1889=y > # CONFIG_SND_ALS300 is not set > # CONFIG_SND_ALS4000 is not set > CONFIG_SND_ALI5451=y > CONFIG_SND_ATIIXP=y > # CONFIG_SND_ATIIXP_MODEM is not set > CONFIG_SND_AU8810=y > # CONFIG_SND_AU8820 is not set > # CONFIG_SND_AU8830 is not set > CONFIG_SND_AW2=y > # CONFIG_SND_AZT3328 is not set > CONFIG_SND_BT87X=y > CONFIG_SND_BT87X_OVERCLOCK=y > CONFIG_SND_CA0106=y > CONFIG_SND_CMIPCI=y > CONFIG_SND_OXYGEN_LIB=y > # CONFIG_SND_OXYGEN is not set > CONFIG_SND_CS4281=y > CONFIG_SND_CS46XX=y > # CONFIG_SND_CS46XX_NEW_DSP is not set > CONFIG_SND_CS5530=y > CONFIG_SND_DARLA20=y > CONFIG_SND_GINA20=y > CONFIG_SND_LAYLA20=y > # CONFIG_SND_DARLA24 is not set > CONFIG_SND_GINA24=y > # CONFIG_SND_LAYLA24 is not set > CONFIG_SND_MONA=y > CONFIG_SND_MIA=y > CONFIG_SND_ECHO3G=y > CONFIG_SND_INDIGO=y > # CONFIG_SND_INDIGOIO is not set > CONFIG_SND_INDIGODJ=y > CONFIG_SND_EMU10K1=y > CONFIG_SND_EMU10K1X=y > CONFIG_SND_ENS1370=y > CONFIG_SND_ENS1371=y > # CONFIG_SND_ES1938 is not set > # CONFIG_SND_ES1968 is not set > CONFIG_SND_FM801=y > CONFIG_SND_HDA_INTEL=y > CONFIG_SND_HDA_HWDEP=y > CONFIG_SND_HDA_RECONFIG=y > # CONFIG_SND_HDA_INPUT_BEEP is not set > CONFIG_SND_HDA_CODEC_REALTEK=y > CONFIG_SND_HDA_CODEC_ANALOG=y > # CONFIG_SND_HDA_CODEC_SIGMATEL is not set > # CONFIG_SND_HDA_CODEC_VIA is not set > CONFIG_SND_HDA_CODEC_ATIHDMI=y > CONFIG_SND_HDA_CODEC_NVHDMI=y > CONFIG_SND_HDA_CODEC_INTELHDMI=y > CONFIG_SND_HDA_ELD=y > CONFIG_SND_HDA_CODEC_CONEXANT=y > # CONFIG_SND_HDA_CODEC_CMEDIA is not set > CONFIG_SND_HDA_CODEC_SI3054=y > # CONFIG_SND_HDA_GENERIC is not set > # CONFIG_SND_HDA_POWER_SAVE is not set > CONFIG_SND_HDSP=y > CONFIG_SND_HDSPM=y > CONFIG_SND_HIFIER=y > # CONFIG_SND_ICE1712 is not set > # CONFIG_SND_ICE1724 is not set > # CONFIG_SND_INTEL8X0 is not set > # CONFIG_SND_INTEL8X0M is not set > CONFIG_SND_KORG1212=y > CONFIG_SND_MAESTRO3=y > CONFIG_SND_MIXART=y > CONFIG_SND_NM256=y > # CONFIG_SND_PCXHR is not set > CONFIG_SND_RIPTIDE=y > CONFIG_SND_RME32=y > CONFIG_SND_RME96=y > CONFIG_SND_RME9652=y > CONFIG_SND_SONICVIBES=y > CONFIG_SND_TRIDENT=y > # CONFIG_SND_VIA82XX is not set > # CONFIG_SND_VIA82XX_MODEM is not set > # CONFIG_SND_VIRTUOSO is not set > CONFIG_SND_VX222=y > CONFIG_SND_YMFPCI=y > # CONFIG_SND_SPI is not set > CONFIG_SND_USB=y > CONFIG_SND_USB_AUDIO=y > CONFIG_SND_USB_USX2Y=y > CONFIG_SND_USB_CAIAQ=y > CONFIG_SND_USB_CAIAQ_INPUT=y > CONFIG_SND_USB_US122L=y > # CONFIG_SND_PCMCIA is not set > # CONFIG_SND_SOC is not set > CONFIG_SOUND_PRIME=y > # CONFIG_SOUND_OSS is not set > CONFIG_AC97_BUS=y > CONFIG_HID_SUPPORT=y > CONFIG_HID=y > CONFIG_HID_DEBUG=y > CONFIG_HIDRAW=y > > # > # USB Input Devices > # > CONFIG_USB_HID=y > # CONFIG_HID_PID is not set > # CONFIG_USB_HIDDEV is not set > CONFIG_USB_MOUSE=y > > # > # Special HID drivers > # > # CONFIG_HID_COMPAT is not set > CONFIG_HID_A4TECH=y > CONFIG_HID_APPLE=y > CONFIG_HID_BELKIN=y > CONFIG_HID_CHERRY=y > CONFIG_HID_CHICONY=y > CONFIG_HID_CYPRESS=y > CONFIG_HID_EZKEY=y > CONFIG_HID_GYRATION=y > CONFIG_HID_LOGITECH=y > CONFIG_LOGITECH_FF=y > CONFIG_LOGIRUMBLEPAD2_FF=y > CONFIG_HID_MICROSOFT=y > CONFIG_HID_MONTEREY=y > CONFIG_HID_NTRIG=y > CONFIG_HID_PANTHERLORD=y > CONFIG_PANTHERLORD_FF=y > CONFIG_HID_PETALYNX=y > CONFIG_HID_SAMSUNG=y > CONFIG_HID_SONY=y > CONFIG_HID_SUNPLUS=y > # CONFIG_GREENASIA_FF is not set > CONFIG_HID_TOPSEED=y > # CONFIG_THRUSTMASTER_FF is not set > # CONFIG_ZEROPLUS_FF is not set > 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_DEBUG is not set > CONFIG_USB_ANNOUNCE_NEW_DEVICES=y > > # > # Miscellaneous USB options > # > CONFIG_USB_DEVICEFS=y > CONFIG_USB_DEVICE_CLASS=y > CONFIG_USB_DYNAMIC_MINORS=y > CONFIG_USB_SUSPEND=y > # CONFIG_USB_OTG is not set > CONFIG_USB_MON=y > CONFIG_USB_WUSB=y > CONFIG_USB_WUSB_CBAF=y > # CONFIG_USB_WUSB_CBAF_DEBUG is not set > > # > # USB Host Controller Drivers > # > # CONFIG_USB_C67X00_HCD is not set > CONFIG_USB_EHCI_HCD=y > CONFIG_USB_EHCI_ROOT_HUB_TT=y > CONFIG_USB_EHCI_TT_NEWSCHED=y > CONFIG_USB_OXU210HP_HCD=y > CONFIG_USB_ISP116X_HCD=y > # CONFIG_USB_ISP1760_HCD is not set > CONFIG_USB_OHCI_HCD=y > CONFIG_USB_OHCI_HCD_SSB=y > # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set > # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set > CONFIG_USB_OHCI_LITTLE_ENDIAN=y > CONFIG_USB_UHCI_HCD=y > # CONFIG_USB_SL811_HCD is not set > CONFIG_USB_R8A66597_HCD=y > # CONFIG_USB_HWA_HCD is not set > > # > # USB Device Class drivers > # > CONFIG_USB_ACM=y > CONFIG_USB_PRINTER=y > CONFIG_USB_WDM=y > CONFIG_USB_TMC=y > > # > # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; > # > > # > # see USB_STORAGE Help for more information > # > CONFIG_USB_STORAGE=y > # CONFIG_USB_STORAGE_DEBUG is not set > CONFIG_USB_STORAGE_DATAFAB=y > CONFIG_USB_STORAGE_FREECOM=y > CONFIG_USB_STORAGE_ISD200=y > # CONFIG_USB_STORAGE_USBAT is not set > CONFIG_USB_STORAGE_SDDR09=y > # CONFIG_USB_STORAGE_SDDR55 is not set > # CONFIG_USB_STORAGE_JUMPSHOT is not set > CONFIG_USB_STORAGE_ALAUDA=y > CONFIG_USB_STORAGE_ONETOUCH=y > CONFIG_USB_STORAGE_KARMA=y > CONFIG_USB_STORAGE_CYPRESS_ATACB=y > CONFIG_USB_LIBUSUAL=y > > # > # USB Imaging devices > # > # CONFIG_USB_MDC800 is not set > CONFIG_USB_MICROTEK=y > > # > # USB port drivers > # > CONFIG_USB_USS720=y > # CONFIG_USB_SERIAL is not set > > # > # USB Miscellaneous drivers > # > # CONFIG_USB_EMI62 is not set > CONFIG_USB_EMI26=y > # CONFIG_USB_ADUTUX is not set > CONFIG_USB_SEVSEG=y > CONFIG_USB_RIO500=y > CONFIG_USB_LEGOTOWER=y > CONFIG_USB_LCD=y > # CONFIG_USB_BERRY_CHARGE is not set > # CONFIG_USB_LED is not set > CONFIG_USB_CYPRESS_CY7C63=y > CONFIG_USB_CYTHERM=y > CONFIG_USB_PHIDGET=y > CONFIG_USB_PHIDGETKIT=y > CONFIG_USB_PHIDGETMOTORCONTROL=y > # CONFIG_USB_PHIDGETSERVO is not set > # CONFIG_USB_IDMOUSE is not set > # CONFIG_USB_FTDI_ELAN is not set > CONFIG_USB_APPLEDISPLAY=y > # CONFIG_USB_SISUSBVGA is not set > # CONFIG_USB_LD is not set > CONFIG_USB_TRANCEVIBRATOR=y > CONFIG_USB_IOWARRIOR=y > # CONFIG_USB_TEST is not set > # CONFIG_USB_ISIGHTFW is not set > CONFIG_USB_VST=y > > # > # OTG and related infrastructure > # > CONFIG_USB_OTG_UTILS=y > CONFIG_TWL4030_USB=y > CONFIG_UWB=y > CONFIG_UWB_HWA=y > # CONFIG_UWB_WHCI is not set > # CONFIG_UWB_WLP is not set > # CONFIG_UWB_I1480U is not set > # CONFIG_MMC is not set > CONFIG_MEMSTICK=y > CONFIG_MEMSTICK_DEBUG=y > > # > # MemoryStick drivers > # > # CONFIG_MEMSTICK_UNSAFE_RESUME is not set > # CONFIG_MSPRO_BLOCK is not set > > # > # MemoryStick Host Controller Drivers > # > CONFIG_MEMSTICK_TIFM_MS=y > CONFIG_MEMSTICK_JMICRON_38X=y > CONFIG_NEW_LEDS=y > CONFIG_LEDS_CLASS=y > > # > # LED drivers > # > # CONFIG_LEDS_PCA9532 is not set > CONFIG_LEDS_HP_DISK=y > CONFIG_LEDS_CLEVO_MAIL=y > CONFIG_LEDS_PCA955X=y > # CONFIG_LEDS_DA903X is not set > > # > # LED Triggers > # > CONFIG_LEDS_TRIGGERS=y > CONFIG_LEDS_TRIGGER_TIMER=y > CONFIG_LEDS_TRIGGER_HEARTBEAT=y > CONFIG_LEDS_TRIGGER_BACKLIGHT=y > CONFIG_LEDS_TRIGGER_DEFAULT_ON=y > CONFIG_ACCESSIBILITY=y > # CONFIG_A11Y_BRAILLE_CONSOLE is not set > CONFIG_EDAC=y > > # > # Reporting subsystems > # > CONFIG_EDAC_DEBUG=y > CONFIG_EDAC_MM_EDAC=y > CONFIG_EDAC_E752X=y > CONFIG_EDAC_I82975X=y > CONFIG_EDAC_I3000=y > CONFIG_EDAC_X38=y > # CONFIG_EDAC_I5400 is not set > CONFIG_EDAC_I5000=y > CONFIG_EDAC_I5100=y > # CONFIG_RTC_CLASS is not set > CONFIG_DMADEVICES=y > > # > # DMA Devices > # > CONFIG_INTEL_IOATDMA=y > CONFIG_DMA_ENGINE=y > > # > # DMA Clients > # > CONFIG_NET_DMA=y > # CONFIG_DMATEST is not set > CONFIG_DCA=y > # CONFIG_AUXDISPLAY is not set > # CONFIG_UIO is not set > > # > # Firmware Drivers > # > CONFIG_EDD=y > CONFIG_EDD_OFF=y > CONFIG_FIRMWARE_MEMMAP=y > # CONFIG_EFI_VARS is not set > # CONFIG_DELL_RBU is not set > CONFIG_DCDBAS=y > CONFIG_DMIID=y > # CONFIG_ISCSI_IBFT_FIND is not set > > # > # File systems > # > # CONFIG_EXT2_FS is not set > CONFIG_EXT3_FS=y > CONFIG_EXT3_FS_XATTR=y > CONFIG_EXT3_FS_POSIX_ACL=y > CONFIG_EXT3_FS_SECURITY=y > CONFIG_EXT4_FS=y > CONFIG_EXT4DEV_COMPAT=y > CONFIG_EXT4_FS_XATTR=y > # CONFIG_EXT4_FS_POSIX_ACL is not set > CONFIG_EXT4_FS_SECURITY=y > CONFIG_JBD=y > CONFIG_JBD_DEBUG=y > CONFIG_JBD2=y > # CONFIG_JBD2_DEBUG is not set > CONFIG_FS_MBCACHE=y > CONFIG_REISERFS_FS=y > CONFIG_REISERFS_CHECK=y > # CONFIG_REISERFS_PROC_INFO is not set > # CONFIG_REISERFS_FS_XATTR is not set > # CONFIG_JFS_FS is not set > CONFIG_FS_POSIX_ACL=y > CONFIG_FILE_LOCKING=y > CONFIG_XFS_FS=y > # CONFIG_XFS_QUOTA is not set > # CONFIG_XFS_POSIX_ACL is not set > # CONFIG_XFS_RT is not set > CONFIG_XFS_DEBUG=y > CONFIG_GFS2_FS=y > CONFIG_GFS2_FS_LOCKING_DLM=y > CONFIG_OCFS2_FS=y > CONFIG_OCFS2_FS_O2CB=y > # CONFIG_OCFS2_FS_USERSPACE_CLUSTER is not set > CONFIG_OCFS2_FS_STATS=y > CONFIG_OCFS2_DEBUG_MASKLOG=y > CONFIG_OCFS2_DEBUG_FS=y > CONFIG_OCFS2_FS_POSIX_ACL=y > CONFIG_DNOTIFY=y > CONFIG_INOTIFY=y > CONFIG_INOTIFY_USER=y > CONFIG_QUOTA=y > CONFIG_QUOTA_NETLINK_INTERFACE=y > CONFIG_PRINT_QUOTA_WARNING=y > CONFIG_QUOTA_TREE=y > # CONFIG_QFMT_V1 is not set > # CONFIG_QFMT_V2 is not set > CONFIG_QUOTACTL=y > CONFIG_AUTOFS_FS=y > # CONFIG_AUTOFS4_FS is not set > CONFIG_FUSE_FS=y > > # > # CD-ROM/DVD Filesystems > # > CONFIG_ISO9660_FS=y > CONFIG_JOLIET=y > # CONFIG_ZISOFS is not set > CONFIG_UDF_FS=y > CONFIG_UDF_NLS=y > > # > # DOS/FAT/NT Filesystems > # > CONFIG_FAT_FS=y > CONFIG_MSDOS_FS=y > CONFIG_VFAT_FS=y > CONFIG_FAT_DEFAULT_CODEPAGE=437 > CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" > CONFIG_NTFS_FS=y > CONFIG_NTFS_DEBUG=y > CONFIG_NTFS_RW=y > > # > # Pseudo filesystems > # > CONFIG_PROC_FS=y > CONFIG_PROC_KCORE=y > CONFIG_PROC_SYSCTL=y > CONFIG_PROC_PAGE_MONITOR=y > CONFIG_SYSFS=y > CONFIG_TMPFS=y > # CONFIG_TMPFS_POSIX_ACL is not set > CONFIG_HUGETLBFS=y > CONFIG_HUGETLB_PAGE=y > CONFIG_CONFIGFS_FS=y > CONFIG_MISC_FILESYSTEMS=y > CONFIG_ADFS_FS=y > CONFIG_ADFS_FS_RW=y > CONFIG_AFFS_FS=y > CONFIG_HFS_FS=y > CONFIG_HFSPLUS_FS=y > CONFIG_BEFS_FS=y > CONFIG_BEFS_DEBUG=y > # CONFIG_BFS_FS is not set > CONFIG_EFS_FS=y > CONFIG_CRAMFS=y > CONFIG_VXFS_FS=y > # CONFIG_MINIX_FS is not set > CONFIG_OMFS_FS=y > CONFIG_HPFS_FS=y > CONFIG_QNX4FS_FS=y > CONFIG_ROMFS_FS=y > # CONFIG_SYSV_FS is not set > CONFIG_UFS_FS=y > CONFIG_UFS_FS_WRITE=y > # CONFIG_UFS_DEBUG is not set > # CONFIG_NETWORK_FILESYSTEMS is not set > > # > # Partition Types > # > CONFIG_PARTITION_ADVANCED=y > # CONFIG_ACORN_PARTITION is not set > CONFIG_OSF_PARTITION=y > # CONFIG_AMIGA_PARTITION is not set > CONFIG_ATARI_PARTITION=y > # CONFIG_MAC_PARTITION is not set > CONFIG_MSDOS_PARTITION=y > CONFIG_BSD_DISKLABEL=y > CONFIG_MINIX_SUBPARTITION=y > CONFIG_SOLARIS_X86_PARTITION=y > CONFIG_UNIXWARE_DISKLABEL=y > CONFIG_LDM_PARTITION=y > CONFIG_LDM_DEBUG=y > # CONFIG_SGI_PARTITION is not set > CONFIG_ULTRIX_PARTITION=y > CONFIG_SUN_PARTITION=y > CONFIG_KARMA_PARTITION=y > CONFIG_EFI_PARTITION=y > CONFIG_SYSV68_PARTITION=y > CONFIG_NLS=y > CONFIG_NLS_DEFAULT="iso8859-1" > CONFIG_NLS_CODEPAGE_437=y > CONFIG_NLS_CODEPAGE_737=y > CONFIG_NLS_CODEPAGE_775=y > # CONFIG_NLS_CODEPAGE_850 is not set > CONFIG_NLS_CODEPAGE_852=y > # CONFIG_NLS_CODEPAGE_855 is not set > CONFIG_NLS_CODEPAGE_857=y > CONFIG_NLS_CODEPAGE_860=y > CONFIG_NLS_CODEPAGE_861=y > CONFIG_NLS_CODEPAGE_862=y > # CONFIG_NLS_CODEPAGE_863 is not set > CONFIG_NLS_CODEPAGE_864=y > CONFIG_NLS_CODEPAGE_865=y > # CONFIG_NLS_CODEPAGE_866 is not set > CONFIG_NLS_CODEPAGE_869=y > # CONFIG_NLS_CODEPAGE_936 is not set > CONFIG_NLS_CODEPAGE_950=y > CONFIG_NLS_CODEPAGE_932=y > CONFIG_NLS_CODEPAGE_949=y > # CONFIG_NLS_CODEPAGE_874 is not set > CONFIG_NLS_ISO8859_8=y > # CONFIG_NLS_CODEPAGE_1250 is not set > # CONFIG_NLS_CODEPAGE_1251 is not set > # CONFIG_NLS_ASCII is not set > CONFIG_NLS_ISO8859_1=y > CONFIG_NLS_ISO8859_2=y > # CONFIG_NLS_ISO8859_3 is not set > CONFIG_NLS_ISO8859_4=y > CONFIG_NLS_ISO8859_5=y > CONFIG_NLS_ISO8859_6=y > CONFIG_NLS_ISO8859_7=y > CONFIG_NLS_ISO8859_9=y > CONFIG_NLS_ISO8859_13=y > CONFIG_NLS_ISO8859_14=y > CONFIG_NLS_ISO8859_15=y > CONFIG_NLS_KOI8_R=y > # CONFIG_NLS_KOI8_U is not set > CONFIG_NLS_UTF8=y > CONFIG_DLM=y > CONFIG_DLM_DEBUG=y > > # > # Kernel hacking > # > CONFIG_TRACE_IRQFLAGS_SUPPORT=y > CONFIG_PRINTK_TIME=y > CONFIG_ALLOW_WARNINGS=y > CONFIG_ENABLE_WARN_DEPRECATED=y > CONFIG_ENABLE_MUST_CHECK=y > CONFIG_FRAME_WARN=2048 > CONFIG_MAGIC_SYSRQ=y > # CONFIG_UNUSED_SYMBOLS is not set > CONFIG_DEBUG_FS=y > # CONFIG_HEADERS_CHECK is not set > CONFIG_DEBUG_KERNEL=y > CONFIG_DEBUG_SHIRQ=y > # CONFIG_DETECT_SOFTLOCKUP is not set > CONFIG_SCHED_DEBUG=y > CONFIG_SCHEDSTATS=y > # CONFIG_TIMER_STATS is not set > CONFIG_DEBUG_OBJECTS=y > CONFIG_DEBUG_OBJECTS_SELFTEST=y > CONFIG_DEBUG_OBJECTS_FREE=y > CONFIG_DEBUG_OBJECTS_TIMERS=y > CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 > CONFIG_SLUB_DEBUG_ON=y > CONFIG_SLUB_STATS=y > CONFIG_DEBUG_RT_MUTEXES=y > CONFIG_DEBUG_PI_LIST=y > CONFIG_RT_MUTEX_TESTER=y > CONFIG_DEBUG_SPINLOCK=y > CONFIG_DEBUG_MUTEXES=y > CONFIG_DEBUG_LOCK_ALLOC=y > CONFIG_PROVE_LOCKING=y > CONFIG_LOCKDEP=y > CONFIG_LOCK_STAT=y > # CONFIG_DEBUG_LOCKDEP is not set > CONFIG_TRACE_IRQFLAGS=y > # CONFIG_DEBUG_SPINLOCK_SLEEP is not set > CONFIG_DEBUG_LOCKING_API_SELFTESTS=y > CONFIG_STACKTRACE=y > CONFIG_DEBUG_BUGVERBOSE=y > CONFIG_DEBUG_VM=y > # CONFIG_DEBUG_VIRTUAL is not set > # CONFIG_DEBUG_WRITECOUNT is not set > CONFIG_DEBUG_MEMORY_INIT=y > CONFIG_DEBUG_LIST=y > CONFIG_DEBUG_SG=y > CONFIG_DEBUG_NOTIFIERS=y > CONFIG_FRAME_POINTER=y > CONFIG_BOOT_PRINTK_DELAY=y > # CONFIG_RCU_TORTURE_TEST is not set > CONFIG_RCU_CPU_STALL_DETECTOR=y > CONFIG_BACKTRACE_SELF_TEST=y > CONFIG_FAULT_INJECTION=y > CONFIG_FAILSLAB=y > # CONFIG_FAIL_PAGE_ALLOC is not set > CONFIG_FAIL_MAKE_REQUEST=y > # CONFIG_FAIL_IO_TIMEOUT is not set > CONFIG_FAULT_INJECTION_DEBUG_FS=y > CONFIG_LATENCYTOP=y > CONFIG_SYSCTL_SYSCALL_CHECK=y > CONFIG_USER_STACKTRACE_SUPPORT=y > CONFIG_NOP_TRACER=y > CONFIG_HAVE_FUNCTION_TRACER=y > CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y > CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y > CONFIG_HAVE_DYNAMIC_FTRACE=y > CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y > CONFIG_TRACER_MAX_TRACE=y > CONFIG_RING_BUFFER=y > CONFIG_TRACING=y > > # > # Tracers > # > CONFIG_FUNCTION_TRACER=y > CONFIG_FUNCTION_GRAPH_TRACER=y > # CONFIG_IRQSOFF_TRACER is not set > CONFIG_SYSPROF_TRACER=y > CONFIG_SCHED_TRACER=y > CONFIG_CONTEXT_SWITCH_TRACER=y > CONFIG_BOOT_TRACER=y > CONFIG_POWER_TRACER=y > CONFIG_STACK_TRACER=y > # CONFIG_KMEMTRACE is not set > # CONFIG_DYNAMIC_FTRACE is not set > CONFIG_PROVIDE_OHCI1394_DMA_INIT=y > CONFIG_FIREWIRE_OHCI_REMOTE_DMA=y > CONFIG_DYNAMIC_PRINTK_DEBUG=y > CONFIG_SAMPLES=y > # CONFIG_SAMPLE_KOBJECT is not set > CONFIG_HAVE_ARCH_KGDB=y > CONFIG_KGDB=y > CONFIG_KGDB_SERIAL_CONSOLE=y > CONFIG_KGDB_TESTS=y > CONFIG_STRICT_DEVMEM=y > # CONFIG_X86_VERBOSE_BOOTUP is not set > CONFIG_EARLY_PRINTK=y > CONFIG_EARLY_PRINTK_DBGP=y > CONFIG_DEBUG_STACKOVERFLOW=y > CONFIG_DEBUG_STACK_USAGE=y > CONFIG_DEBUG_PAGEALLOC=y > CONFIG_DEBUG_PER_CPU_MAPS=y > CONFIG_X86_PTDUMP=y > CONFIG_DEBUG_RODATA=y > CONFIG_DEBUG_RODATA_TEST=y > # CONFIG_IOMMU_DEBUG is not set > # CONFIG_MMIOTRACE is not set > 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_IO_DELAY_0XED is not set > # CONFIG_IO_DELAY_UDELAY is not set > # CONFIG_IO_DELAY_NONE is not set > CONFIG_DEFAULT_IO_DELAY_TYPE=0 > CONFIG_DEBUG_BOOT_PARAMS=y > # CONFIG_CPA_DEBUG is not set > CONFIG_OPTIMIZE_INLINING=y > > # > # Security options > # > CONFIG_KEYS=y > CONFIG_KEYS_DEBUG_PROC_KEYS=y > CONFIG_SECURITY=y > CONFIG_SECURITYFS=y > # CONFIG_SECURITY_NETWORK is not set > CONFIG_SECURITY_PATH=y > CONFIG_SECURITY_FILE_CAPABILITIES=y > CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 > CONFIG_CRYPTO=y > > # > # Crypto core or helper > # > CONFIG_CRYPTO_FIPS=y > CONFIG_CRYPTO_ALGAPI=y > CONFIG_CRYPTO_ALGAPI2=y > CONFIG_CRYPTO_AEAD=y > CONFIG_CRYPTO_AEAD2=y > CONFIG_CRYPTO_BLKCIPHER=y > CONFIG_CRYPTO_BLKCIPHER2=y > CONFIG_CRYPTO_HASH=y > CONFIG_CRYPTO_HASH2=y > CONFIG_CRYPTO_RNG=y > CONFIG_CRYPTO_RNG2=y > CONFIG_CRYPTO_MANAGER=y > CONFIG_CRYPTO_MANAGER2=y > CONFIG_CRYPTO_GF128MUL=y > # CONFIG_CRYPTO_NULL is not set > CONFIG_CRYPTO_CRYPTD=y > CONFIG_CRYPTO_AUTHENC=y > > # > # Authenticated Encryption with Associated Data > # > # CONFIG_CRYPTO_CCM is not set > # CONFIG_CRYPTO_GCM is not set > CONFIG_CRYPTO_SEQIV=y > > # > # Block modes > # > CONFIG_CRYPTO_CBC=y > CONFIG_CRYPTO_CTR=y > # CONFIG_CRYPTO_CTS is not set > CONFIG_CRYPTO_ECB=y > CONFIG_CRYPTO_LRW=y > CONFIG_CRYPTO_PCBC=y > CONFIG_CRYPTO_XTS=y > > # > # Hash modes > # > CONFIG_CRYPTO_HMAC=y > CONFIG_CRYPTO_XCBC=y > > # > # Digest > # > CONFIG_CRYPTO_CRC32C=y > # CONFIG_CRYPTO_CRC32C_INTEL is not set > # CONFIG_CRYPTO_MD4 is not set > CONFIG_CRYPTO_MD5=y > CONFIG_CRYPTO_MICHAEL_MIC=y > # CONFIG_CRYPTO_RMD128 is not set > CONFIG_CRYPTO_RMD160=y > # CONFIG_CRYPTO_RMD256 is not set > # CONFIG_CRYPTO_RMD320 is not set > CONFIG_CRYPTO_SHA1=y > CONFIG_CRYPTO_SHA256=y > # CONFIG_CRYPTO_SHA512 is not set > CONFIG_CRYPTO_TGR192=y > CONFIG_CRYPTO_WP512=y > > # > # Ciphers > # > CONFIG_CRYPTO_AES=y > CONFIG_CRYPTO_AES_X86_64=y > CONFIG_CRYPTO_ANUBIS=y > CONFIG_CRYPTO_ARC4=y > CONFIG_CRYPTO_BLOWFISH=y > # CONFIG_CRYPTO_CAMELLIA is not set > # CONFIG_CRYPTO_CAST5 is not set > CONFIG_CRYPTO_CAST6=y > CONFIG_CRYPTO_DES=y > CONFIG_CRYPTO_FCRYPT=y > CONFIG_CRYPTO_KHAZAD=y > CONFIG_CRYPTO_SALSA20=y > CONFIG_CRYPTO_SALSA20_X86_64=y > # CONFIG_CRYPTO_SEED is not set > # CONFIG_CRYPTO_SERPENT is not set > CONFIG_CRYPTO_TEA=y > CONFIG_CRYPTO_TWOFISH=y > CONFIG_CRYPTO_TWOFISH_COMMON=y > CONFIG_CRYPTO_TWOFISH_X86_64=y > > # > # Compression > # > CONFIG_CRYPTO_DEFLATE=y > CONFIG_CRYPTO_LZO=y > > # > # Random Number Generation > # > # CONFIG_CRYPTO_ANSI_CPRNG is not set > CONFIG_CRYPTO_HW=y > # CONFIG_CRYPTO_DEV_HIFN_795X is not set > CONFIG_HAVE_KVM=y > CONFIG_VIRTUALIZATION=y > CONFIG_KVM=y > # CONFIG_KVM_INTEL is not set > CONFIG_KVM_AMD=y > CONFIG_KVM_TRACE=y > CONFIG_VIRTIO=y > CONFIG_VIRTIO_RING=y > CONFIG_VIRTIO_PCI=y > # CONFIG_VIRTIO_BALLOON is not set > > # > # Library routines > # > CONFIG_BITREVERSE=y > CONFIG_GENERIC_FIND_FIRST_BIT=y > CONFIG_GENERIC_FIND_NEXT_BIT=y > CONFIG_GENERIC_FIND_LAST_BIT=y > CONFIG_CRC_CCITT=y > CONFIG_CRC16=y > CONFIG_CRC_T10DIF=y > CONFIG_CRC_ITU_T=y > CONFIG_CRC32=y > CONFIG_CRC7=y > CONFIG_LIBCRC32C=y > CONFIG_ZLIB_INFLATE=y > CONFIG_ZLIB_DEFLATE=y > CONFIG_LZO_COMPRESS=y > CONFIG_LZO_DECOMPRESS=y > CONFIG_TEXTSEARCH=y > CONFIG_TEXTSEARCH_KMP=y > CONFIG_TEXTSEARCH_BM=y > CONFIG_TEXTSEARCH_FSM=y > CONFIG_PLIST=y > CONFIG_HAS_IOMEM=y > CONFIG_HAS_IOPORT=y > CONFIG_HAS_DMA=y > CONFIG_CHECK_SIGNATURE=y > CONFIG_CPUMASK_OFFSTACK=y > CONFIG_FORCE_SUCCESSFUL_BUILD=y > CONFIG_FORCE_MINIMAL_CONFIG=y > CONFIG_FORCE_MINIMAL_CONFIG_64=y > CONFIG_FORCE_MINIMAL_CONFIG_PHYS=y ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-08 15:39 ` Takashi Iwai @ 2009-01-08 16:10 ` Takashi Iwai 2009-01-08 16:12 ` Peter Zijlstra 0 siblings, 1 reply; 12+ messages in thread From: Takashi Iwai @ 2009-01-08 16:10 UTC (permalink / raw) To: Ingo Molnar, linux-kernel, Peter Zijlstra, Wu Fengguang At Thu, 08 Jan 2009 16:39:31 +0100, I wrote: > > At Thu, 8 Jan 2009 16:20:37 +0100, > Ingo Molnar wrote: > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > triggered by the Intel HDA sound driver: (snip) > > [ 30.718689] ============================================= > > [ 30.718689] [ INFO: possible recursive locking detected ] > > [ 30.718689] 2.6.28-tip #2 > > [ 30.718689] --------------------------------------------- > > [ 30.718689] events/0/7 is trying to acquire lock: > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > [ 30.718689] > > [ 30.718689] but task is already holding lock: > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > [ 30.718689] > > [ 30.718689] other info that might help us debug this: > > [ 30.718689] 2 locks held by events/0/7: > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > [ 30.718689] > > [ 30.718689] stack backtrace: > > [ 30.718689] Pid: 7, comm: events/0 Not tainted 2.6.28-tip #2 > > [ 30.718689] Call Trace: > > [ 30.718689] [<ffffffff80295836>] validate_chain+0xc56/0x1340 > > [ 30.718689] [<ffffffff802974e6>] __lock_acquire+0x376/0x610 > > [ 30.718689] [<ffffffff80297819>] lock_acquire+0x99/0xd0 > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > [ 30.718689] [<ffffffff80281091>] flush_workqueue+0x41/0x90 > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > [ 30.718689] [<ffffffff802810f5>] flush_scheduled_work+0x15/0x20 > > [ 30.718689] [<ffffffff80c59794>] azx_clear_irq_pending+0x54/0x60 > > [ 30.718689] [<ffffffff80c599ec>] azx_free+0x10c/0x160 > > [ 30.718689] [<ffffffff80bae9ad>] ? snd_device_free+0x8d/0x100 > > [ 30.718689] [<ffffffff80c59a52>] azx_dev_free+0x12/0x20 > > [ 30.718689] [<ffffffff80bae9a1>] snd_device_free+0x81/0x100 > > [ 30.718689] [<ffffffff80baea89>] snd_device_free_all+0x69/0xa0 > > [ 30.718689] [<ffffffff80ba8a70>] snd_card_do_free+0x50/0xd0 > > [ 30.718689] [<ffffffff80ba9602>] snd_card_free+0xa2/0xc0 > > [ 30.718689] [<ffffffff8061115f>] ? __delay+0xf/0x20 > > [ 30.718689] [<ffffffff80edbb6a>] azx_probe+0x38a/0x9f0 > > [ 30.718689] [<ffffffff80c5a240>] ? azx_send_cmd+0x0/0x130 > > [ 30.718689] [<ffffffff80c5a370>] ? azx_get_response+0x0/0x210 > > [ 30.718689] [<ffffffff80c59b70>] ? azx_attach_pcm_stream+0x0/0x1b0 > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > [ 30.718689] [<ffffffff80634807>] local_pci_probe+0x17/0x20 > > [ 30.718689] [<ffffffff802804e8>] do_work_for_cpu+0x18/0x30 > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > [ 30.718689] [<ffffffff802807bb>] run_workqueue+0x19b/0x240 > > [ 30.718689] [<ffffffff8028076a>] ? run_workqueue+0x14a/0x240 > > [ 30.718689] [<ffffffff802809cf>] worker_thread+0xaf/0x110 > > [ 30.718689] [<ffffffff80284e20>] ? autoremove_wake_function+0x0/0x40 > > [ 30.718689] [<ffffffff80280920>] ? worker_thread+0x0/0x110 > > [ 30.718689] [<ffffffff802848e3>] kthread+0x53/0x80 > > [ 30.718689] [<ffffffff8022c3aa>] child_rip+0xa/0x20 > > [ 30.718689] [<ffffffff8022bcbe>] ? restore_args+0x0/0x30 > > [ 30.718689] [<ffffffff80284890>] ? kthread+0x0/0x80 > > [ 30.718689] [<ffffffff8022c3a0>] ? child_rip+0x0/0x20 The backtrace implies that the probe callback is called in a workqueue. Is it right? Takashi ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-08 16:10 ` Takashi Iwai @ 2009-01-08 16:12 ` Peter Zijlstra 2009-01-08 16:17 ` Takashi Iwai 0 siblings, 1 reply; 12+ messages in thread From: Peter Zijlstra @ 2009-01-08 16:12 UTC (permalink / raw) To: Takashi Iwai; +Cc: Ingo Molnar, linux-kernel, Wu Fengguang On Thu, 2009-01-08 at 17:10 +0100, Takashi Iwai wrote: > At Thu, 08 Jan 2009 16:39:31 +0100, > I wrote: > > > > At Thu, 8 Jan 2009 16:20:37 +0100, > > Ingo Molnar wrote: > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > triggered by the Intel HDA sound driver: > (snip) > > > [ 30.718689] ============================================= > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > [ 30.718689] 2.6.28-tip #2 > > > [ 30.718689] --------------------------------------------- > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > [ 30.718689] > > > [ 30.718689] but task is already holding lock: > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] > > > [ 30.718689] other info that might help us debug this: > > > [ 30.718689] 2 locks held by events/0/7: > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] > > > [ 30.718689] stack backtrace: > > > [ 30.718689] Pid: 7, comm: events/0 Not tainted 2.6.28-tip #2 > > > [ 30.718689] Call Trace: > > > [ 30.718689] [<ffffffff80295836>] validate_chain+0xc56/0x1340 > > > [ 30.718689] [<ffffffff802974e6>] __lock_acquire+0x376/0x610 > > > [ 30.718689] [<ffffffff80297819>] lock_acquire+0x99/0xd0 > > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > > [ 30.718689] [<ffffffff80281091>] flush_workqueue+0x41/0x90 > > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > > [ 30.718689] [<ffffffff802810f5>] flush_scheduled_work+0x15/0x20 > > > [ 30.718689] [<ffffffff80c59794>] azx_clear_irq_pending+0x54/0x60 > > > [ 30.718689] [<ffffffff80c599ec>] azx_free+0x10c/0x160 > > > [ 30.718689] [<ffffffff80bae9ad>] ? snd_device_free+0x8d/0x100 > > > [ 30.718689] [<ffffffff80c59a52>] azx_dev_free+0x12/0x20 > > > [ 30.718689] [<ffffffff80bae9a1>] snd_device_free+0x81/0x100 > > > [ 30.718689] [<ffffffff80baea89>] snd_device_free_all+0x69/0xa0 > > > [ 30.718689] [<ffffffff80ba8a70>] snd_card_do_free+0x50/0xd0 > > > [ 30.718689] [<ffffffff80ba9602>] snd_card_free+0xa2/0xc0 > > > [ 30.718689] [<ffffffff8061115f>] ? __delay+0xf/0x20 > > > [ 30.718689] [<ffffffff80edbb6a>] azx_probe+0x38a/0x9f0 > > > [ 30.718689] [<ffffffff80c5a240>] ? azx_send_cmd+0x0/0x130 > > > [ 30.718689] [<ffffffff80c5a370>] ? azx_get_response+0x0/0x210 > > > [ 30.718689] [<ffffffff80c59b70>] ? azx_attach_pcm_stream+0x0/0x1b0 > > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > > [ 30.718689] [<ffffffff80634807>] local_pci_probe+0x17/0x20 > > > [ 30.718689] [<ffffffff802804e8>] do_work_for_cpu+0x18/0x30 > > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > > [ 30.718689] [<ffffffff802807bb>] run_workqueue+0x19b/0x240 > > > [ 30.718689] [<ffffffff8028076a>] ? run_workqueue+0x14a/0x240 > > > [ 30.718689] [<ffffffff802809cf>] worker_thread+0xaf/0x110 > > > [ 30.718689] [<ffffffff80284e20>] ? autoremove_wake_function+0x0/0x40 > > > [ 30.718689] [<ffffffff80280920>] ? worker_thread+0x0/0x110 > > > [ 30.718689] [<ffffffff802848e3>] kthread+0x53/0x80 > > > [ 30.718689] [<ffffffff8022c3aa>] child_rip+0xa/0x20 > > > [ 30.718689] [<ffffffff8022bcbe>] ? restore_args+0x0/0x30 > > > [ 30.718689] [<ffffffff80284890>] ? kthread+0x0/0x80 > > > [ 30.718689] [<ffffffff8022c3a0>] ? child_rip+0x0/0x20 > > The backtrace implies that the probe callback is called in a > workqueue. Is it right? Yes, it appears a worklet tries to flush the queue he's on. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-08 16:12 ` Peter Zijlstra @ 2009-01-08 16:17 ` Takashi Iwai 2009-01-08 16:53 ` Takashi Iwai 0 siblings, 1 reply; 12+ messages in thread From: Takashi Iwai @ 2009-01-08 16:17 UTC (permalink / raw) To: Peter Zijlstra; +Cc: Ingo Molnar, linux-kernel, Wu Fengguang At Thu, 08 Jan 2009 17:12:54 +0100, Peter Zijlstra wrote: > > On Thu, 2009-01-08 at 17:10 +0100, Takashi Iwai wrote: > > At Thu, 08 Jan 2009 16:39:31 +0100, > > I wrote: > > > > > > At Thu, 8 Jan 2009 16:20:37 +0100, > > > Ingo Molnar wrote: > > > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > > triggered by the Intel HDA sound driver: > > (snip) > > > > [ 30.718689] ============================================= > > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > > [ 30.718689] 2.6.28-tip #2 > > > > [ 30.718689] --------------------------------------------- > > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > > [ 30.718689] > > > > [ 30.718689] but task is already holding lock: > > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] > > > > [ 30.718689] other info that might help us debug this: > > > > [ 30.718689] 2 locks held by events/0/7: > > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] > > > > [ 30.718689] stack backtrace: > > > > [ 30.718689] Pid: 7, comm: events/0 Not tainted 2.6.28-tip #2 > > > > [ 30.718689] Call Trace: > > > > [ 30.718689] [<ffffffff80295836>] validate_chain+0xc56/0x1340 > > > > [ 30.718689] [<ffffffff802974e6>] __lock_acquire+0x376/0x610 > > > > [ 30.718689] [<ffffffff80297819>] lock_acquire+0x99/0xd0 > > > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > > > [ 30.718689] [<ffffffff80281091>] flush_workqueue+0x41/0x90 > > > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > > > [ 30.718689] [<ffffffff802810f5>] flush_scheduled_work+0x15/0x20 > > > > [ 30.718689] [<ffffffff80c59794>] azx_clear_irq_pending+0x54/0x60 > > > > [ 30.718689] [<ffffffff80c599ec>] azx_free+0x10c/0x160 > > > > [ 30.718689] [<ffffffff80bae9ad>] ? snd_device_free+0x8d/0x100 > > > > [ 30.718689] [<ffffffff80c59a52>] azx_dev_free+0x12/0x20 > > > > [ 30.718689] [<ffffffff80bae9a1>] snd_device_free+0x81/0x100 > > > > [ 30.718689] [<ffffffff80baea89>] snd_device_free_all+0x69/0xa0 > > > > [ 30.718689] [<ffffffff80ba8a70>] snd_card_do_free+0x50/0xd0 > > > > [ 30.718689] [<ffffffff80ba9602>] snd_card_free+0xa2/0xc0 > > > > [ 30.718689] [<ffffffff8061115f>] ? __delay+0xf/0x20 > > > > [ 30.718689] [<ffffffff80edbb6a>] azx_probe+0x38a/0x9f0 > > > > [ 30.718689] [<ffffffff80c5a240>] ? azx_send_cmd+0x0/0x130 > > > > [ 30.718689] [<ffffffff80c5a370>] ? azx_get_response+0x0/0x210 > > > > [ 30.718689] [<ffffffff80c59b70>] ? azx_attach_pcm_stream+0x0/0x1b0 > > > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > > > [ 30.718689] [<ffffffff80634807>] local_pci_probe+0x17/0x20 > > > > [ 30.718689] [<ffffffff802804e8>] do_work_for_cpu+0x18/0x30 > > > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > > > [ 30.718689] [<ffffffff802807bb>] run_workqueue+0x19b/0x240 > > > > [ 30.718689] [<ffffffff8028076a>] ? run_workqueue+0x14a/0x240 > > > > [ 30.718689] [<ffffffff802809cf>] worker_thread+0xaf/0x110 > > > > [ 30.718689] [<ffffffff80284e20>] ? autoremove_wake_function+0x0/0x40 > > > > [ 30.718689] [<ffffffff80280920>] ? worker_thread+0x0/0x110 > > > > [ 30.718689] [<ffffffff802848e3>] kthread+0x53/0x80 > > > > [ 30.718689] [<ffffffff8022c3aa>] child_rip+0xa/0x20 > > > > [ 30.718689] [<ffffffff8022bcbe>] ? restore_args+0x0/0x30 > > > > [ 30.718689] [<ffffffff80284890>] ? kthread+0x0/0x80 > > > > [ 30.718689] [<ffffffff8022c3a0>] ? child_rip+0x0/0x20 > > > > The backtrace implies that the probe callback is called in a > > workqueue. Is it right? > > Yes, it appears a worklet tries to flush the queue he's on. It calls flush_schedule_work(). So, now this should be avoided during the probe callback? If so, a simple workaround would be to create its own workqueue, or add a flag to avoid this call at destructor... thanks, Takashi ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-08 16:17 ` Takashi Iwai @ 2009-01-08 16:53 ` Takashi Iwai 0 siblings, 0 replies; 12+ messages in thread From: Takashi Iwai @ 2009-01-08 16:53 UTC (permalink / raw) To: Ingo Molnar; +Cc: Peter Zijlstra, linux-kernel, Wu Fengguang At Thu, 08 Jan 2009 17:17:06 +0100, I wrote: > > At Thu, 08 Jan 2009 17:12:54 +0100, > Peter Zijlstra wrote: > > > > On Thu, 2009-01-08 at 17:10 +0100, Takashi Iwai wrote: > > > At Thu, 08 Jan 2009 16:39:31 +0100, > > > I wrote: > > > > > > > > At Thu, 8 Jan 2009 16:20:37 +0100, > > > > Ingo Molnar wrote: > > > > > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > > > triggered by the Intel HDA sound driver: > > > (snip) > > > > > [ 30.718689] ============================================= > > > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > > > [ 30.718689] 2.6.28-tip #2 > > > > > [ 30.718689] --------------------------------------------- > > > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > > > [ 30.718689] > > > > > [ 30.718689] but task is already holding lock: > > > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > > [ 30.718689] > > > > > [ 30.718689] other info that might help us debug this: > > > > > [ 30.718689] 2 locks held by events/0/7: > > > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > > [ 30.718689] > > > > > [ 30.718689] stack backtrace: > > > > > [ 30.718689] Pid: 7, comm: events/0 Not tainted 2.6.28-tip #2 > > > > > [ 30.718689] Call Trace: > > > > > [ 30.718689] [<ffffffff80295836>] validate_chain+0xc56/0x1340 > > > > > [ 30.718689] [<ffffffff802974e6>] __lock_acquire+0x376/0x610 > > > > > [ 30.718689] [<ffffffff80297819>] lock_acquire+0x99/0xd0 > > > > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > > > > [ 30.718689] [<ffffffff80281091>] flush_workqueue+0x41/0x90 > > > > > [ 30.718689] [<ffffffff80281050>] ? flush_workqueue+0x0/0x90 > > > > > [ 30.718689] [<ffffffff802810f5>] flush_scheduled_work+0x15/0x20 > > > > > [ 30.718689] [<ffffffff80c59794>] azx_clear_irq_pending+0x54/0x60 > > > > > [ 30.718689] [<ffffffff80c599ec>] azx_free+0x10c/0x160 > > > > > [ 30.718689] [<ffffffff80bae9ad>] ? snd_device_free+0x8d/0x100 > > > > > [ 30.718689] [<ffffffff80c59a52>] azx_dev_free+0x12/0x20 > > > > > [ 30.718689] [<ffffffff80bae9a1>] snd_device_free+0x81/0x100 > > > > > [ 30.718689] [<ffffffff80baea89>] snd_device_free_all+0x69/0xa0 > > > > > [ 30.718689] [<ffffffff80ba8a70>] snd_card_do_free+0x50/0xd0 > > > > > [ 30.718689] [<ffffffff80ba9602>] snd_card_free+0xa2/0xc0 > > > > > [ 30.718689] [<ffffffff8061115f>] ? __delay+0xf/0x20 > > > > > [ 30.718689] [<ffffffff80edbb6a>] azx_probe+0x38a/0x9f0 > > > > > [ 30.718689] [<ffffffff80c5a240>] ? azx_send_cmd+0x0/0x130 > > > > > [ 30.718689] [<ffffffff80c5a370>] ? azx_get_response+0x0/0x210 > > > > > [ 30.718689] [<ffffffff80c59b70>] ? azx_attach_pcm_stream+0x0/0x1b0 > > > > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > > > > [ 30.718689] [<ffffffff80634807>] local_pci_probe+0x17/0x20 > > > > > [ 30.718689] [<ffffffff802804e8>] do_work_for_cpu+0x18/0x30 > > > > > [ 30.718689] [<ffffffff802804d0>] ? do_work_for_cpu+0x0/0x30 > > > > > [ 30.718689] [<ffffffff802807bb>] run_workqueue+0x19b/0x240 > > > > > [ 30.718689] [<ffffffff8028076a>] ? run_workqueue+0x14a/0x240 > > > > > [ 30.718689] [<ffffffff802809cf>] worker_thread+0xaf/0x110 > > > > > [ 30.718689] [<ffffffff80284e20>] ? autoremove_wake_function+0x0/0x40 > > > > > [ 30.718689] [<ffffffff80280920>] ? worker_thread+0x0/0x110 > > > > > [ 30.718689] [<ffffffff802848e3>] kthread+0x53/0x80 > > > > > [ 30.718689] [<ffffffff8022c3aa>] child_rip+0xa/0x20 > > > > > [ 30.718689] [<ffffffff8022bcbe>] ? restore_args+0x0/0x30 > > > > > [ 30.718689] [<ffffffff80284890>] ? kthread+0x0/0x80 > > > > > [ 30.718689] [<ffffffff8022c3a0>] ? child_rip+0x0/0x20 > > > > > > The backtrace implies that the probe callback is called in a > > > workqueue. Is it right? > > > > Yes, it appears a worklet tries to flush the queue he's on. > > It calls flush_schedule_work(). > So, now this should be avoided during the probe callback? > > If so, a simple workaround would be to create its own workqueue, or > add a flag to avoid this call at destructor... The below is a quick fix to convert to use the own workq in hda_intel.c. This should fix this particular lockdep problem, at least. (And it's better, anyway.) Please give it a try. thanks, Takashi --- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index f04de11..7e09f98 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -406,6 +406,7 @@ struct azx { unsigned int last_cmd; /* last issued command (to sync) */ /* for pending irqs */ + struct workqueue_struct *workq; struct work_struct irq_pending_work; /* reboot notifier (for mysterious hangup problem at power-down) */ @@ -999,7 +1000,8 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id) } else { /* bogus IRQ, process it later */ azx_dev->irq_pending = 1; - schedule_work(&chip->irq_pending_work); + queue_work(chip->workq, + &chip->irq_pending_work); } } } @@ -1741,7 +1743,7 @@ static void azx_clear_irq_pending(struct azx *chip) for (i = 0; i < chip->num_streams; i++) chip->azx_dev[i].irq_pending = 0; spin_unlock_irq(&chip->reg_lock); - flush_scheduled_work(); + flush_workqueue(chip->workq); } static struct snd_pcm_ops azx_pcm_ops = { @@ -2019,6 +2021,8 @@ static int azx_free(struct azx *chip) azx_stop_chip(chip); } + if (chip->workq) + destroy_workqueue(chip->workq); if (chip->irq >= 0) free_irq(chip->irq, (void*)chip); if (chip->msi) @@ -2131,6 +2135,7 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, static struct snd_device_ops ops = { .dev_free = azx_dev_free, }; + char qname[8]; *rchip = NULL; @@ -2153,7 +2158,6 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, chip->driver_type = driver_type; chip->msi = enable_msi; chip->dev_index = dev; - INIT_WORK(&chip->irq_pending_work, azx_irq_pending_work); chip->position_fix = check_position_fix(chip, position_fix[dev]); check_probe_mask(chip, dev); @@ -2200,6 +2204,15 @@ static int __devinit azx_create(struct snd_card *card, struct pci_dev *pci, if (pci_enable_msi(pci) < 0) chip->msi = 0; + snprintf(qname, sizeof(qname), "hda%d", chip->card->number); + chip->workq = create_workqueue(qname); + if (!chip->workq) { + snd_printk(KERN_ERR SFX "cannot create workqueue %s\n", qname); + err = -ENOMEM; + goto errout; + } + INIT_WORK(&chip->irq_pending_work, azx_irq_pending_work); + if (azx_acquire_irq(chip, 0) < 0) { err = -EBUSY; goto errout; ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-08 15:20 [bug] sound: INFO: possible recursive locking detected Ingo Molnar 2009-01-08 15:39 ` Takashi Iwai @ 2009-01-09 5:06 ` Wu Fengguang 2009-01-09 7:18 ` Takashi Iwai 1 sibling, 1 reply; 12+ messages in thread From: Wu Fengguang @ 2009-01-09 5:06 UTC (permalink / raw) To: Ingo Molnar; +Cc: Takashi Iwai, linux-kernel, Peter Zijlstra On Thu, Jan 08, 2009 at 04:20:37PM +0100, Ingo Molnar wrote: > > FYI, -tip testing found this new lockdep workqueue locking assert > triggered by the Intel HDA sound driver: > > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > [ 30.667801] chipset global capabilities = 0x4401 > [ 30.701090] codec_mask = 0x4 > [ 30.701090] hda_intel: codec #2 probed OK > [ 30.709090] hda-codec: No codec parser is available > [ 30.714396] hda-intel: no codecs initialized > [ 30.718689] > [ 30.718689] ============================================= > [ 30.718689] [ INFO: possible recursive locking detected ] > [ 30.718689] 2.6.28-tip #2 > [ 30.718689] --------------------------------------------- > [ 30.718689] events/0/7 is trying to acquire lock: > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > [ 30.718689] > [ 30.718689] but task is already holding lock: > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > [ 30.718689] > [ 30.718689] other info that might help us debug this: > [ 30.718689] 2 locks held by events/0/7: > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 I didn't see this bug, but ran into another one with linux-next 20090102: [ 844.111765] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 [ 844.111915] [ 844.111916] ======================================================= [ 844.112018] [ INFO: possible circular locking dependency detected ] [ 844.112076] 2.6.28-next-20090102 #33 [ 844.112124] ------------------------------------------------------- [ 844.112181] mplayer/3151 is trying to acquire lock: [ 844.112235] (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] [ 844.112361] [ 844.112362] but task is already holding lock: [ 844.112458] (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 [ 844.112576] [ 844.112577] which lock already depends on the new lock. [ 844.112578] [ 844.112712] [ 844.112713] the existing dependency chain (in reverse order) is: [ 844.112781] [ 844.112781] -> #3 (&mm->mmap_sem){----}: [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 [ 844.112781] [<ffffffff810b7a43>] might_fault+0x73/0xa0 [ 844.112781] [<ffffffffa006f44d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] [ 844.112781] [<ffffffffa0093f80>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] [ 844.112781] [<ffffffffa0012300>] snd_ctl_tlv_ioctl+0x180/0x1b0 [snd] [ 844.112781] [<ffffffffa0013a27>] snd_ctl_ioctl+0x927/0xf80 [snd] [ 844.112781] [<ffffffff810ea801>] vfs_ioctl+0x31/0xa0 [ 844.112781] [<ffffffff810ea8e6>] do_vfs_ioctl+0x76/0x4a0 [ 844.112781] [<ffffffff810ead5a>] sys_ioctl+0x4a/0x80 [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff [ 844.112781] [ 844.112781] -> #2 (&codec->spdif_mutex){--..}: [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 [ 844.112781] [<ffffffffa006e54b>] snd_hda_multi_out_dig_open+0x2b/0x60 [snd_hda_codec] [ 844.112781] [<ffffffffa00d2649>] intel_hdmi_playback_pcm_open+0x49/0x60 [snd_hda_codec_intelhdmi] [ 844.112781] [<ffffffffa007fff9>] azx_pcm_open+0x209/0x280 [snd_hda_intel] [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff [ 844.112781] [ 844.112781] -> #1 (&chip->open_mutex){--..}: [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 [ 844.112781] [<ffffffffa007fe38>] azx_pcm_open+0x48/0x280 [snd_hda_intel] [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff [ 844.112781] [ 844.112781] -> #0 (&pcm->open_mutex){--..}: [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff [ 844.112781] [ 844.112781] other info that might help us debug this: [ 844.112781] [ 844.112781] 1 lock held by mplayer/3151: [ 844.112781] #0: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 [ 844.112781] [ 844.112781] stack backtrace: [ 844.112781] Pid: 3151, comm: mplayer Not tainted 2.6.28-next-20090102 #33 [ 844.112781] Call Trace: [ 844.112781] [<ffffffff8106f2a0>] print_circular_bug_tail+0xe0/0xf0 [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 [ 844.112781] [<ffffffff8106e916>] ? mark_held_locks+0x56/0xa0 [ 844.112781] [<ffffffff810abcf9>] ? free_hot_cold_page+0x1b9/0x2e0 [ 844.112781] [<ffffffff8106ec1d>] ? trace_hardirqs_on+0xd/0x10 [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b [ 844.119376] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 Which can be fixed by the following patch. Thanks, Fengguang --- hda - fix lockdep warning ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.28-next-20090102 #33 ------------------------------------------------------- mplayer/3151 is trying to acquire lock: (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] but task is already holding lock: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 which lock already depends on the new lock. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> --- sound/pci/hda/hda_codec.c | 1 + sound/pci/hda/hda_codec.h | 1 + sound/pci/hda/patch_realtek.c | 12 ++++++------ 3 files changed, 8 insertions(+), 6 deletions(-) --- mm.orig/sound/pci/hda/hda_codec.c +++ mm/sound/pci/hda/hda_codec.c @@ -735,6 +735,7 @@ int /*__devinit*/ snd_hda_codec_new(stru codec->bus = bus; codec->addr = codec_addr; mutex_init(&codec->spdif_mutex); + mutex_init(&codec->control_mutex); init_hda_cache(&codec->amp_cache, sizeof(struct hda_amp_info)); init_hda_cache(&codec->cmd_cache, sizeof(struct hda_cache_head)); snd_array_init(&codec->mixers, sizeof(struct snd_kcontrol *), 32); --- mm.orig/sound/pci/hda/hda_codec.h +++ mm/sound/pci/hda/hda_codec.h @@ -771,6 +771,7 @@ struct hda_codec { struct hda_cache_rec cmd_cache; /* cache for other commands */ struct mutex spdif_mutex; + struct mutex control_mutex; unsigned int spdif_status; /* IEC958 status bits */ unsigned short spdif_ctls; /* SPDIF control bits */ unsigned int spdif_in_enable; /* SPDIF input enable? */ --- mm.orig/sound/pci/hda/patch_realtek.c +++ mm/sound/pci/hda/patch_realtek.c @@ -1502,11 +1502,11 @@ static int alc_cap_vol_info(struct snd_k struct alc_spec *spec = codec->spec; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, HDA_INPUT); err = snd_hda_mixer_amp_volume_info(kcontrol, uinfo); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } @@ -1517,11 +1517,11 @@ static int alc_cap_vol_tlv(struct snd_kc struct alc_spec *spec = codec->spec; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, HDA_INPUT); err = snd_hda_mixer_amp_tlv(kcontrol, op_flag, size, tlv); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } @@ -1537,11 +1537,11 @@ static int alc_cap_getput_caller(struct unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[adc_idx], 3, 0, HDA_INPUT); err = func(kcontrol, ucontrol); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [bug] sound: INFO: possible recursive locking detected 2009-01-09 5:06 ` Wu Fengguang @ 2009-01-09 7:18 ` Takashi Iwai 2009-01-09 8:45 ` Wu Fengguang 0 siblings, 1 reply; 12+ messages in thread From: Takashi Iwai @ 2009-01-09 7:18 UTC (permalink / raw) To: Wu Fengguang; +Cc: Ingo Molnar, linux-kernel, Peter Zijlstra At Fri, 9 Jan 2009 13:06:21 +0800, Wu Fengguang wrote: > > On Thu, Jan 08, 2009 at 04:20:37PM +0100, Ingo Molnar wrote: > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > triggered by the Intel HDA sound driver: > > > > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > > [ 30.667801] chipset global capabilities = 0x4401 > > [ 30.701090] codec_mask = 0x4 > > [ 30.701090] hda_intel: codec #2 probed OK > > [ 30.709090] hda-codec: No codec parser is available > > [ 30.714396] hda-intel: no codecs initialized > > [ 30.718689] > > [ 30.718689] ============================================= > > [ 30.718689] [ INFO: possible recursive locking detected ] > > [ 30.718689] 2.6.28-tip #2 > > [ 30.718689] --------------------------------------------- > > [ 30.718689] events/0/7 is trying to acquire lock: > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > [ 30.718689] > > [ 30.718689] but task is already holding lock: > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > [ 30.718689] > > [ 30.718689] other info that might help us debug this: > > [ 30.718689] 2 locks held by events/0/7: > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > I didn't see this bug, but ran into another one with linux-next 20090102: > > [ 844.111765] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > [ 844.111915] > [ 844.111916] ======================================================= > [ 844.112018] [ INFO: possible circular locking dependency detected ] > [ 844.112076] 2.6.28-next-20090102 #33 > [ 844.112124] ------------------------------------------------------- > [ 844.112181] mplayer/3151 is trying to acquire lock: > [ 844.112235] (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > [ 844.112361] > [ 844.112362] but task is already holding lock: > [ 844.112458] (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > [ 844.112576] > [ 844.112577] which lock already depends on the new lock. > [ 844.112578] > [ 844.112712] > [ 844.112713] the existing dependency chain (in reverse order) is: > [ 844.112781] > [ 844.112781] -> #3 (&mm->mmap_sem){----}: > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > [ 844.112781] [<ffffffff810b7a43>] might_fault+0x73/0xa0 > [ 844.112781] [<ffffffffa006f44d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] > [ 844.112781] [<ffffffffa0093f80>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] > [ 844.112781] [<ffffffffa0012300>] snd_ctl_tlv_ioctl+0x180/0x1b0 [snd] > [ 844.112781] [<ffffffffa0013a27>] snd_ctl_ioctl+0x927/0xf80 [snd] > [ 844.112781] [<ffffffff810ea801>] vfs_ioctl+0x31/0xa0 > [ 844.112781] [<ffffffff810ea8e6>] do_vfs_ioctl+0x76/0x4a0 > [ 844.112781] [<ffffffff810ead5a>] sys_ioctl+0x4a/0x80 > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > [ 844.112781] > [ 844.112781] -> #2 (&codec->spdif_mutex){--..}: > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > [ 844.112781] [<ffffffffa006e54b>] snd_hda_multi_out_dig_open+0x2b/0x60 [snd_hda_codec] > [ 844.112781] [<ffffffffa00d2649>] intel_hdmi_playback_pcm_open+0x49/0x60 [snd_hda_codec_intelhdmi] > [ 844.112781] [<ffffffffa007fff9>] azx_pcm_open+0x209/0x280 [snd_hda_intel] > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > [ 844.112781] > [ 844.112781] -> #1 (&chip->open_mutex){--..}: > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > [ 844.112781] [<ffffffffa007fe38>] azx_pcm_open+0x48/0x280 [snd_hda_intel] > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > [ 844.112781] > [ 844.112781] -> #0 (&pcm->open_mutex){--..}: > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > [ 844.112781] > [ 844.112781] other info that might help us debug this: > [ 844.112781] > [ 844.112781] 1 lock held by mplayer/3151: > [ 844.112781] #0: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > [ 844.112781] > [ 844.112781] stack backtrace: > [ 844.112781] Pid: 3151, comm: mplayer Not tainted 2.6.28-next-20090102 #33 > [ 844.112781] Call Trace: > [ 844.112781] [<ffffffff8106f2a0>] print_circular_bug_tail+0xe0/0xf0 > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > [ 844.112781] [<ffffffff8106e916>] ? mark_held_locks+0x56/0xa0 > [ 844.112781] [<ffffffff810abcf9>] ? free_hot_cold_page+0x1b9/0x2e0 > [ 844.112781] [<ffffffff8106ec1d>] ? trace_hardirqs_on+0xd/0x10 > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > [ 844.119376] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > Which can be fixed by the following patch. This alone isn't enough. You need to replace all codec->spdif_mutex in the control get/put/info/tlv callbacks in hda_codec.c. Otherwise there is no meaning of the mutex. The mutex is to protect the rewrite of kcontrol->private_value dynamically. Could you fix and repost? thanks, Takashi > > Thanks, > Fengguang > --- > hda - fix lockdep warning > > ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.28-next-20090102 #33 > ------------------------------------------------------- > mplayer/3151 is trying to acquire lock: > (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > but task is already holding lock: > (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > which lock already depends on the new lock. > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> > --- > sound/pci/hda/hda_codec.c | 1 + > sound/pci/hda/hda_codec.h | 1 + > sound/pci/hda/patch_realtek.c | 12 ++++++------ > 3 files changed, 8 insertions(+), 6 deletions(-) > > --- mm.orig/sound/pci/hda/hda_codec.c > +++ mm/sound/pci/hda/hda_codec.c > @@ -735,6 +735,7 @@ int /*__devinit*/ snd_hda_codec_new(stru > codec->bus = bus; > codec->addr = codec_addr; > mutex_init(&codec->spdif_mutex); > + mutex_init(&codec->control_mutex); > init_hda_cache(&codec->amp_cache, sizeof(struct hda_amp_info)); > init_hda_cache(&codec->cmd_cache, sizeof(struct hda_cache_head)); > snd_array_init(&codec->mixers, sizeof(struct snd_kcontrol *), 32); > --- mm.orig/sound/pci/hda/hda_codec.h > +++ mm/sound/pci/hda/hda_codec.h > @@ -771,6 +771,7 @@ struct hda_codec { > struct hda_cache_rec cmd_cache; /* cache for other commands */ > > struct mutex spdif_mutex; > + struct mutex control_mutex; > unsigned int spdif_status; /* IEC958 status bits */ > unsigned short spdif_ctls; /* SPDIF control bits */ > unsigned int spdif_in_enable; /* SPDIF input enable? */ > --- mm.orig/sound/pci/hda/patch_realtek.c > +++ mm/sound/pci/hda/patch_realtek.c > @@ -1502,11 +1502,11 @@ static int alc_cap_vol_info(struct snd_k > struct alc_spec *spec = codec->spec; > int err; > > - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ > + mutex_lock(&codec->control_mutex); > kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, > HDA_INPUT); > err = snd_hda_mixer_amp_volume_info(kcontrol, uinfo); > - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ > + mutex_unlock(&codec->control_mutex); > return err; > } > > @@ -1517,11 +1517,11 @@ static int alc_cap_vol_tlv(struct snd_kc > struct alc_spec *spec = codec->spec; > int err; > > - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ > + mutex_lock(&codec->control_mutex); > kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, > HDA_INPUT); > err = snd_hda_mixer_amp_tlv(kcontrol, op_flag, size, tlv); > - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ > + mutex_unlock(&codec->control_mutex); > return err; > } > > @@ -1537,11 +1537,11 @@ static int alc_cap_getput_caller(struct > unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); > int err; > > - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ > + mutex_lock(&codec->control_mutex); > kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[adc_idx], > 3, 0, HDA_INPUT); > err = func(kcontrol, ucontrol); > - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ > + mutex_unlock(&codec->control_mutex); > return err; > } > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value 2009-01-09 7:18 ` Takashi Iwai @ 2009-01-09 8:45 ` Wu Fengguang 0 siblings, 0 replies; 12+ messages in thread From: Wu Fengguang @ 2009-01-09 8:45 UTC (permalink / raw) To: Takashi Iwai; +Cc: Peter Zijlstra, alsa-devel, Ingo Molnar, linux-kernel On Fri, Jan 09, 2009 at 08:18:47AM +0100, Takashi Iwai wrote: > At Fri, 9 Jan 2009 13:06:21 +0800, > Wu Fengguang wrote: > > > > On Thu, Jan 08, 2009 at 04:20:37PM +0100, Ingo Molnar wrote: > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > triggered by the Intel HDA sound driver: > > > > > > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > > > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > > > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > > > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > > > [ 30.667801] chipset global capabilities = 0x4401 > > > [ 30.701090] codec_mask = 0x4 > > > [ 30.701090] hda_intel: codec #2 probed OK > > > [ 30.709090] hda-codec: No codec parser is available > > > [ 30.714396] hda-intel: no codecs initialized > > > [ 30.718689] > > > [ 30.718689] ============================================= > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > [ 30.718689] 2.6.28-tip #2 > > > [ 30.718689] --------------------------------------------- > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > [ 30.718689] > > > [ 30.718689] but task is already holding lock: > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] > > > [ 30.718689] other info that might help us debug this: > > > [ 30.718689] 2 locks held by events/0/7: > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > I didn't see this bug, but ran into another one with linux-next 20090102: > > > > [ 844.111765] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > [ 844.111915] > > [ 844.111916] ======================================================= > > [ 844.112018] [ INFO: possible circular locking dependency detected ] > > [ 844.112076] 2.6.28-next-20090102 #33 > > [ 844.112124] ------------------------------------------------------- > > [ 844.112181] mplayer/3151 is trying to acquire lock: > > [ 844.112235] (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112361] > > [ 844.112362] but task is already holding lock: > > [ 844.112458] (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > [ 844.112576] > > [ 844.112577] which lock already depends on the new lock. > > [ 844.112578] > > [ 844.112712] > > [ 844.112713] the existing dependency chain (in reverse order) is: > > [ 844.112781] > > [ 844.112781] -> #3 (&mm->mmap_sem){----}: > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff810b7a43>] might_fault+0x73/0xa0 > > [ 844.112781] [<ffffffffa006f44d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] > > [ 844.112781] [<ffffffffa0093f80>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] > > [ 844.112781] [<ffffffffa0012300>] snd_ctl_tlv_ioctl+0x180/0x1b0 [snd] > > [ 844.112781] [<ffffffffa0013a27>] snd_ctl_ioctl+0x927/0xf80 [snd] > > [ 844.112781] [<ffffffff810ea801>] vfs_ioctl+0x31/0xa0 > > [ 844.112781] [<ffffffff810ea8e6>] do_vfs_ioctl+0x76/0x4a0 > > [ 844.112781] [<ffffffff810ead5a>] sys_ioctl+0x4a/0x80 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] -> #2 (&codec->spdif_mutex){--..}: > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa006e54b>] snd_hda_multi_out_dig_open+0x2b/0x60 [snd_hda_codec] > > [ 844.112781] [<ffffffffa00d2649>] intel_hdmi_playback_pcm_open+0x49/0x60 [snd_hda_codec_intelhdmi] > > [ 844.112781] [<ffffffffa007fff9>] azx_pcm_open+0x209/0x280 [snd_hda_intel] > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] -> #1 (&chip->open_mutex){--..}: > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa007fe38>] azx_pcm_open+0x48/0x280 [snd_hda_intel] > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] -> #0 (&pcm->open_mutex){--..}: > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] other info that might help us debug this: > > [ 844.112781] > > [ 844.112781] 1 lock held by mplayer/3151: > > [ 844.112781] #0: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > [ 844.112781] > > [ 844.112781] stack backtrace: > > [ 844.112781] Pid: 3151, comm: mplayer Not tainted 2.6.28-next-20090102 #33 > > [ 844.112781] Call Trace: > > [ 844.112781] [<ffffffff8106f2a0>] print_circular_bug_tail+0xe0/0xf0 > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > [ 844.112781] [<ffffffff8106e916>] ? mark_held_locks+0x56/0xa0 > > [ 844.112781] [<ffffffff810abcf9>] ? free_hot_cold_page+0x1b9/0x2e0 > > [ 844.112781] [<ffffffff8106ec1d>] ? trace_hardirqs_on+0xd/0x10 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.119376] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > > > Which can be fixed by the following patch. > > This alone isn't enough. You need to replace all codec->spdif_mutex > in the control get/put/info/tlv callbacks in hda_codec.c. Otherwise > there is no meaning of the mutex. The mutex is to protect the rewrite > of kcontrol->private_value dynamically. > > Could you fix and repost? Ah sure. Here is the updated patch. Thanks, Fengguang --- ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex. ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.28-next-20090102 #33 ------------------------------------------------------- mplayer/3151 is trying to acquire lock: (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] but task is already holding lock: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 which lock already depends on the new lock. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> --- sound/pci/hda/hda_codec.c | 25 +++++++++++++------------ sound/pci/hda/hda_codec.h | 1 + sound/pci/hda/patch_realtek.c | 12 ++++++------ 3 files changed, 20 insertions(+), 18 deletions(-) --- mm.orig/sound/pci/hda/hda_codec.h +++ mm/sound/pci/hda/hda_codec.h @@ -771,6 +771,7 @@ struct hda_codec { struct hda_cache_rec cmd_cache; /* cache for other commands */ struct mutex spdif_mutex; + struct mutex control_mutex; unsigned int spdif_status; /* IEC958 status bits */ unsigned short spdif_ctls; /* SPDIF control bits */ unsigned int spdif_in_enable; /* SPDIF input enable? */ --- mm.orig/sound/pci/hda/hda_codec.c +++ mm/sound/pci/hda/hda_codec.c @@ -735,6 +735,7 @@ int /*__devinit*/ snd_hda_codec_new(stru codec->bus = bus; codec->addr = codec_addr; mutex_init(&codec->spdif_mutex); + mutex_init(&codec->control_mutex); init_hda_cache(&codec->amp_cache, sizeof(struct hda_amp_info)); init_hda_cache(&codec->cmd_cache, sizeof(struct hda_cache_head)); snd_array_init(&codec->mixers, sizeof(struct snd_kcontrol *), 32); @@ -1418,12 +1419,12 @@ int snd_hda_mixer_bind_switch_get(struct unsigned long pval; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); pval = kcontrol->private_value; kcontrol->private_value = pval & ~AMP_VAL_IDX_MASK; /* index 0 */ err = snd_hda_mixer_amp_switch_get(kcontrol, ucontrol); kcontrol->private_value = pval; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_switch_get); @@ -1435,7 +1436,7 @@ int snd_hda_mixer_bind_switch_put(struct unsigned long pval; int i, indices, err = 0, change = 0; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); pval = kcontrol->private_value; indices = (pval & AMP_VAL_IDX_MASK) >> AMP_VAL_IDX_SHIFT; for (i = 0; i < indices; i++) { @@ -1447,7 +1448,7 @@ int snd_hda_mixer_bind_switch_put(struct change |= err; } kcontrol->private_value = pval; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err < 0 ? err : change; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_switch_put); @@ -1462,12 +1463,12 @@ int snd_hda_mixer_bind_ctls_info(struct struct hda_bind_ctls *c; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; kcontrol->private_value = *c->values; err = c->ops->info(kcontrol, uinfo); kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_info); @@ -1479,12 +1480,12 @@ int snd_hda_mixer_bind_ctls_get(struct s struct hda_bind_ctls *c; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; kcontrol->private_value = *c->values; err = c->ops->get(kcontrol, ucontrol); kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_get); @@ -1497,7 +1498,7 @@ int snd_hda_mixer_bind_ctls_put(struct s unsigned long *vals; int err = 0, change = 0; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; for (vals = c->values; *vals; vals++) { kcontrol->private_value = *vals; @@ -1507,7 +1508,7 @@ int snd_hda_mixer_bind_ctls_put(struct s change |= err; } kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err < 0 ? err : change; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_put); @@ -1519,12 +1520,12 @@ int snd_hda_mixer_bind_tlv(struct snd_kc struct hda_bind_ctls *c; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; kcontrol->private_value = *c->values; err = c->ops->tlv(kcontrol, op_flag, size, tlv); kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_tlv); --- mm.orig/sound/pci/hda/patch_realtek.c +++ mm/sound/pci/hda/patch_realtek.c @@ -1502,11 +1502,11 @@ static int alc_cap_vol_info(struct snd_k struct alc_spec *spec = codec->spec; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, HDA_INPUT); err = snd_hda_mixer_amp_volume_info(kcontrol, uinfo); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } @@ -1517,11 +1517,11 @@ static int alc_cap_vol_tlv(struct snd_kc struct alc_spec *spec = codec->spec; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, HDA_INPUT); err = snd_hda_mixer_amp_tlv(kcontrol, op_flag, size, tlv); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } @@ -1537,11 +1537,11 @@ static int alc_cap_getput_caller(struct unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[adc_idx], 3, 0, HDA_INPUT); err = func(kcontrol, ucontrol); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } ^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH] ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value @ 2009-01-09 8:45 ` Wu Fengguang 0 siblings, 0 replies; 12+ messages in thread From: Wu Fengguang @ 2009-01-09 8:45 UTC (permalink / raw) To: Takashi Iwai; +Cc: alsa-devel, Ingo Molnar, linux-kernel, Peter Zijlstra On Fri, Jan 09, 2009 at 08:18:47AM +0100, Takashi Iwai wrote: > At Fri, 9 Jan 2009 13:06:21 +0800, > Wu Fengguang wrote: > > > > On Thu, Jan 08, 2009 at 04:20:37PM +0100, Ingo Molnar wrote: > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > triggered by the Intel HDA sound driver: > > > > > > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > > > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > > > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > > > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > > > [ 30.667801] chipset global capabilities = 0x4401 > > > [ 30.701090] codec_mask = 0x4 > > > [ 30.701090] hda_intel: codec #2 probed OK > > > [ 30.709090] hda-codec: No codec parser is available > > > [ 30.714396] hda-intel: no codecs initialized > > > [ 30.718689] > > > [ 30.718689] ============================================= > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > [ 30.718689] 2.6.28-tip #2 > > > [ 30.718689] --------------------------------------------- > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > [ 30.718689] > > > [ 30.718689] but task is already holding lock: > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] > > > [ 30.718689] other info that might help us debug this: > > > [ 30.718689] 2 locks held by events/0/7: > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > I didn't see this bug, but ran into another one with linux-next 20090102: > > > > [ 844.111765] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > [ 844.111915] > > [ 844.111916] ======================================================= > > [ 844.112018] [ INFO: possible circular locking dependency detected ] > > [ 844.112076] 2.6.28-next-20090102 #33 > > [ 844.112124] ------------------------------------------------------- > > [ 844.112181] mplayer/3151 is trying to acquire lock: > > [ 844.112235] (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112361] > > [ 844.112362] but task is already holding lock: > > [ 844.112458] (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > [ 844.112576] > > [ 844.112577] which lock already depends on the new lock. > > [ 844.112578] > > [ 844.112712] > > [ 844.112713] the existing dependency chain (in reverse order) is: > > [ 844.112781] > > [ 844.112781] -> #3 (&mm->mmap_sem){----}: > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff810b7a43>] might_fault+0x73/0xa0 > > [ 844.112781] [<ffffffffa006f44d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] > > [ 844.112781] [<ffffffffa0093f80>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] > > [ 844.112781] [<ffffffffa0012300>] snd_ctl_tlv_ioctl+0x180/0x1b0 [snd] > > [ 844.112781] [<ffffffffa0013a27>] snd_ctl_ioctl+0x927/0xf80 [snd] > > [ 844.112781] [<ffffffff810ea801>] vfs_ioctl+0x31/0xa0 > > [ 844.112781] [<ffffffff810ea8e6>] do_vfs_ioctl+0x76/0x4a0 > > [ 844.112781] [<ffffffff810ead5a>] sys_ioctl+0x4a/0x80 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] -> #2 (&codec->spdif_mutex){--..}: > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa006e54b>] snd_hda_multi_out_dig_open+0x2b/0x60 [snd_hda_codec] > > [ 844.112781] [<ffffffffa00d2649>] intel_hdmi_playback_pcm_open+0x49/0x60 [snd_hda_codec_intelhdmi] > > [ 844.112781] [<ffffffffa007fff9>] azx_pcm_open+0x209/0x280 [snd_hda_intel] > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] -> #1 (&chip->open_mutex){--..}: > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa007fe38>] azx_pcm_open+0x48/0x280 [snd_hda_intel] > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] -> #0 (&pcm->open_mutex){--..}: > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > [ 844.112781] > > [ 844.112781] other info that might help us debug this: > > [ 844.112781] > > [ 844.112781] 1 lock held by mplayer/3151: > > [ 844.112781] #0: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > [ 844.112781] > > [ 844.112781] stack backtrace: > > [ 844.112781] Pid: 3151, comm: mplayer Not tainted 2.6.28-next-20090102 #33 > > [ 844.112781] Call Trace: > > [ 844.112781] [<ffffffff8106f2a0>] print_circular_bug_tail+0xe0/0xf0 > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > [ 844.112781] [<ffffffff8106e916>] ? mark_held_locks+0x56/0xa0 > > [ 844.112781] [<ffffffff810abcf9>] ? free_hot_cold_page+0x1b9/0x2e0 > > [ 844.112781] [<ffffffff8106ec1d>] ? trace_hardirqs_on+0xd/0x10 > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > [ 844.119376] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > > > Which can be fixed by the following patch. > > This alone isn't enough. You need to replace all codec->spdif_mutex > in the control get/put/info/tlv callbacks in hda_codec.c. Otherwise > there is no meaning of the mutex. The mutex is to protect the rewrite > of kcontrol->private_value dynamically. > > Could you fix and repost? Ah sure. Here is the updated patch. Thanks, Fengguang --- ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex. ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.28-next-20090102 #33 ------------------------------------------------------- mplayer/3151 is trying to acquire lock: (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] but task is already holding lock: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 which lock already depends on the new lock. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> --- sound/pci/hda/hda_codec.c | 25 +++++++++++++------------ sound/pci/hda/hda_codec.h | 1 + sound/pci/hda/patch_realtek.c | 12 ++++++------ 3 files changed, 20 insertions(+), 18 deletions(-) --- mm.orig/sound/pci/hda/hda_codec.h +++ mm/sound/pci/hda/hda_codec.h @@ -771,6 +771,7 @@ struct hda_codec { struct hda_cache_rec cmd_cache; /* cache for other commands */ struct mutex spdif_mutex; + struct mutex control_mutex; unsigned int spdif_status; /* IEC958 status bits */ unsigned short spdif_ctls; /* SPDIF control bits */ unsigned int spdif_in_enable; /* SPDIF input enable? */ --- mm.orig/sound/pci/hda/hda_codec.c +++ mm/sound/pci/hda/hda_codec.c @@ -735,6 +735,7 @@ int /*__devinit*/ snd_hda_codec_new(stru codec->bus = bus; codec->addr = codec_addr; mutex_init(&codec->spdif_mutex); + mutex_init(&codec->control_mutex); init_hda_cache(&codec->amp_cache, sizeof(struct hda_amp_info)); init_hda_cache(&codec->cmd_cache, sizeof(struct hda_cache_head)); snd_array_init(&codec->mixers, sizeof(struct snd_kcontrol *), 32); @@ -1418,12 +1419,12 @@ int snd_hda_mixer_bind_switch_get(struct unsigned long pval; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); pval = kcontrol->private_value; kcontrol->private_value = pval & ~AMP_VAL_IDX_MASK; /* index 0 */ err = snd_hda_mixer_amp_switch_get(kcontrol, ucontrol); kcontrol->private_value = pval; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_switch_get); @@ -1435,7 +1436,7 @@ int snd_hda_mixer_bind_switch_put(struct unsigned long pval; int i, indices, err = 0, change = 0; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); pval = kcontrol->private_value; indices = (pval & AMP_VAL_IDX_MASK) >> AMP_VAL_IDX_SHIFT; for (i = 0; i < indices; i++) { @@ -1447,7 +1448,7 @@ int snd_hda_mixer_bind_switch_put(struct change |= err; } kcontrol->private_value = pval; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err < 0 ? err : change; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_switch_put); @@ -1462,12 +1463,12 @@ int snd_hda_mixer_bind_ctls_info(struct struct hda_bind_ctls *c; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; kcontrol->private_value = *c->values; err = c->ops->info(kcontrol, uinfo); kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_info); @@ -1479,12 +1480,12 @@ int snd_hda_mixer_bind_ctls_get(struct s struct hda_bind_ctls *c; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; kcontrol->private_value = *c->values; err = c->ops->get(kcontrol, ucontrol); kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_get); @@ -1497,7 +1498,7 @@ int snd_hda_mixer_bind_ctls_put(struct s unsigned long *vals; int err = 0, change = 0; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; for (vals = c->values; *vals; vals++) { kcontrol->private_value = *vals; @@ -1507,7 +1508,7 @@ int snd_hda_mixer_bind_ctls_put(struct s change |= err; } kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err < 0 ? err : change; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_ctls_put); @@ -1519,12 +1520,12 @@ int snd_hda_mixer_bind_tlv(struct snd_kc struct hda_bind_ctls *c; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); c = (struct hda_bind_ctls *)kcontrol->private_value; kcontrol->private_value = *c->values; err = c->ops->tlv(kcontrol, op_flag, size, tlv); kcontrol->private_value = (long)c; - mutex_unlock(&codec->spdif_mutex); + mutex_unlock(&codec->control_mutex); return err; } EXPORT_SYMBOL_HDA(snd_hda_mixer_bind_tlv); --- mm.orig/sound/pci/hda/patch_realtek.c +++ mm/sound/pci/hda/patch_realtek.c @@ -1502,11 +1502,11 @@ static int alc_cap_vol_info(struct snd_k struct alc_spec *spec = codec->spec; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, HDA_INPUT); err = snd_hda_mixer_amp_volume_info(kcontrol, uinfo); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } @@ -1517,11 +1517,11 @@ static int alc_cap_vol_tlv(struct snd_kc struct alc_spec *spec = codec->spec; int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[0], 3, 0, HDA_INPUT); err = snd_hda_mixer_amp_tlv(kcontrol, op_flag, size, tlv); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } @@ -1537,11 +1537,11 @@ static int alc_cap_getput_caller(struct unsigned int adc_idx = snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); int err; - mutex_lock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_lock(&codec->control_mutex); kcontrol->private_value = HDA_COMPOSE_AMP_VAL(spec->adc_nids[adc_idx], 3, 0, HDA_INPUT); err = func(kcontrol, ucontrol); - mutex_unlock(&codec->spdif_mutex); /* reuse spdif_mutex */ + mutex_unlock(&codec->control_mutex); return err; } ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value 2009-01-09 8:45 ` Wu Fengguang @ 2009-01-09 9:00 ` Takashi Iwai -1 siblings, 0 replies; 12+ messages in thread From: Takashi Iwai @ 2009-01-09 9:00 UTC (permalink / raw) To: Wu Fengguang; +Cc: Peter Zijlstra, alsa-devel, Ingo Molnar, linux-kernel At Fri, 9 Jan 2009 16:45:24 +0800, Wu Fengguang wrote: > > On Fri, Jan 09, 2009 at 08:18:47AM +0100, Takashi Iwai wrote: > > At Fri, 9 Jan 2009 13:06:21 +0800, > > Wu Fengguang wrote: > > > > > > On Thu, Jan 08, 2009 at 04:20:37PM +0100, Ingo Molnar wrote: > > > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > > triggered by the Intel HDA sound driver: > > > > > > > > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > > > > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > > > > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > > > > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > > > > [ 30.667801] chipset global capabilities = 0x4401 > > > > [ 30.701090] codec_mask = 0x4 > > > > [ 30.701090] hda_intel: codec #2 probed OK > > > > [ 30.709090] hda-codec: No codec parser is available > > > > [ 30.714396] hda-intel: no codecs initialized > > > > [ 30.718689] > > > > [ 30.718689] ============================================= > > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > > [ 30.718689] 2.6.28-tip #2 > > > > [ 30.718689] --------------------------------------------- > > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > > [ 30.718689] > > > > [ 30.718689] but task is already holding lock: > > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] > > > > [ 30.718689] other info that might help us debug this: > > > > [ 30.718689] 2 locks held by events/0/7: > > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > > > I didn't see this bug, but ran into another one with linux-next 20090102: > > > > > > [ 844.111765] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > > [ 844.111915] > > > [ 844.111916] ======================================================= > > > [ 844.112018] [ INFO: possible circular locking dependency detected ] > > > [ 844.112076] 2.6.28-next-20090102 #33 > > > [ 844.112124] ------------------------------------------------------- > > > [ 844.112181] mplayer/3151 is trying to acquire lock: > > > [ 844.112235] (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112361] > > > [ 844.112362] but task is already holding lock: > > > [ 844.112458] (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > > [ 844.112576] > > > [ 844.112577] which lock already depends on the new lock. > > > [ 844.112578] > > > [ 844.112712] > > > [ 844.112713] the existing dependency chain (in reverse order) is: > > > [ 844.112781] > > > [ 844.112781] -> #3 (&mm->mmap_sem){----}: > > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff810b7a43>] might_fault+0x73/0xa0 > > > [ 844.112781] [<ffffffffa006f44d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] > > > [ 844.112781] [<ffffffffa0093f80>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] > > > [ 844.112781] [<ffffffffa0012300>] snd_ctl_tlv_ioctl+0x180/0x1b0 [snd] > > > [ 844.112781] [<ffffffffa0013a27>] snd_ctl_ioctl+0x927/0xf80 [snd] > > > [ 844.112781] [<ffffffff810ea801>] vfs_ioctl+0x31/0xa0 > > > [ 844.112781] [<ffffffff810ea8e6>] do_vfs_ioctl+0x76/0x4a0 > > > [ 844.112781] [<ffffffff810ead5a>] sys_ioctl+0x4a/0x80 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] -> #2 (&codec->spdif_mutex){--..}: > > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa006e54b>] snd_hda_multi_out_dig_open+0x2b/0x60 [snd_hda_codec] > > > [ 844.112781] [<ffffffffa00d2649>] intel_hdmi_playback_pcm_open+0x49/0x60 [snd_hda_codec_intelhdmi] > > > [ 844.112781] [<ffffffffa007fff9>] azx_pcm_open+0x209/0x280 [snd_hda_intel] > > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] -> #1 (&chip->open_mutex){--..}: > > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa007fe38>] azx_pcm_open+0x48/0x280 [snd_hda_intel] > > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] -> #0 (&pcm->open_mutex){--..}: > > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] other info that might help us debug this: > > > [ 844.112781] > > > [ 844.112781] 1 lock held by mplayer/3151: > > > [ 844.112781] #0: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > > [ 844.112781] > > > [ 844.112781] stack backtrace: > > > [ 844.112781] Pid: 3151, comm: mplayer Not tainted 2.6.28-next-20090102 #33 > > > [ 844.112781] Call Trace: > > > [ 844.112781] [<ffffffff8106f2a0>] print_circular_bug_tail+0xe0/0xf0 > > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > > [ 844.112781] [<ffffffff8106e916>] ? mark_held_locks+0x56/0xa0 > > > [ 844.112781] [<ffffffff810abcf9>] ? free_hot_cold_page+0x1b9/0x2e0 > > > [ 844.112781] [<ffffffff8106ec1d>] ? trace_hardirqs_on+0xd/0x10 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.119376] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > > > > > Which can be fixed by the following patch. > > > > This alone isn't enough. You need to replace all codec->spdif_mutex > > in the control get/put/info/tlv callbacks in hda_codec.c. Otherwise > > there is no meaning of the mutex. The mutex is to protect the rewrite > > of kcontrol->private_value dynamically. > > > > Could you fix and repost? > > Ah sure. Here is the updated patch. > > Thanks, > Fengguang > --- > ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value > > Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex. > > ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.28-next-20090102 #33 > ------------------------------------------------------- > mplayer/3151 is trying to acquire lock: > (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > but task is already holding lock: > (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > which lock already depends on the new lock. > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Applied now. Thanks. Takashi ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH] ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value @ 2009-01-09 9:00 ` Takashi Iwai 0 siblings, 0 replies; 12+ messages in thread From: Takashi Iwai @ 2009-01-09 9:00 UTC (permalink / raw) To: Wu Fengguang; +Cc: alsa-devel, Ingo Molnar, linux-kernel, Peter Zijlstra At Fri, 9 Jan 2009 16:45:24 +0800, Wu Fengguang wrote: > > On Fri, Jan 09, 2009 at 08:18:47AM +0100, Takashi Iwai wrote: > > At Fri, 9 Jan 2009 13:06:21 +0800, > > Wu Fengguang wrote: > > > > > > On Thu, Jan 08, 2009 at 04:20:37PM +0100, Ingo Molnar wrote: > > > > > > > > FYI, -tip testing found this new lockdep workqueue locking assert > > > > triggered by the Intel HDA sound driver: > > > > > > > > [ 30.637612] alloc kstat_irqs on cpu 0 node 0 > > > > [ 30.647029] IOAPIC[0]: Set routing entry (2-22 -> 0x71 -> IRQ 22 Mode:1 Active:1) > > > > [ 30.654533] HDA Intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22 > > > > [ 30.661782] HDA Intel 0000:00:1b.0: setting latency timer to 64 > > > > [ 30.667801] chipset global capabilities = 0x4401 > > > > [ 30.701090] codec_mask = 0x4 > > > > [ 30.701090] hda_intel: codec #2 probed OK > > > > [ 30.709090] hda-codec: No codec parser is available > > > > [ 30.714396] hda-intel: no codecs initialized > > > > [ 30.718689] > > > > [ 30.718689] ============================================= > > > > [ 30.718689] [ INFO: possible recursive locking detected ] > > > > [ 30.718689] 2.6.28-tip #2 > > > > [ 30.718689] --------------------------------------------- > > > > [ 30.718689] events/0/7 is trying to acquire lock: > > > > [ 30.718689] (events){--..}, at: [<ffffffff80281050>] flush_workqueue+0x0/0x90 > > > > [ 30.718689] > > > > [ 30.718689] but task is already holding lock: > > > > [ 30.718689] (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] > > > > [ 30.718689] other info that might help us debug this: > > > > [ 30.718689] 2 locks held by events/0/7: > > > > [ 30.718689] #0: (events){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > [ 30.718689] #1: (&wfc.work){--..}, at: [<ffffffff8028076a>] run_workqueue+0x14a/0x240 > > > > > > I didn't see this bug, but ran into another one with linux-next 20090102: > > > > > > [ 844.111765] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > > [ 844.111915] > > > [ 844.111916] ======================================================= > > > [ 844.112018] [ INFO: possible circular locking dependency detected ] > > > [ 844.112076] 2.6.28-next-20090102 #33 > > > [ 844.112124] ------------------------------------------------------- > > > [ 844.112181] mplayer/3151 is trying to acquire lock: > > > [ 844.112235] (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112361] > > > [ 844.112362] but task is already holding lock: > > > [ 844.112458] (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > > [ 844.112576] > > > [ 844.112577] which lock already depends on the new lock. > > > [ 844.112578] > > > [ 844.112712] > > > [ 844.112713] the existing dependency chain (in reverse order) is: > > > [ 844.112781] > > > [ 844.112781] -> #3 (&mm->mmap_sem){----}: > > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff810b7a43>] might_fault+0x73/0xa0 > > > [ 844.112781] [<ffffffffa006f44d>] snd_hda_mixer_amp_tlv+0x6d/0xf0 [snd_hda_codec] > > > [ 844.112781] [<ffffffffa0093f80>] alc_cap_vol_tlv+0x70/0xa0 [snd_hda_codec_realtek] > > > [ 844.112781] [<ffffffffa0012300>] snd_ctl_tlv_ioctl+0x180/0x1b0 [snd] > > > [ 844.112781] [<ffffffffa0013a27>] snd_ctl_ioctl+0x927/0xf80 [snd] > > > [ 844.112781] [<ffffffff810ea801>] vfs_ioctl+0x31/0xa0 > > > [ 844.112781] [<ffffffff810ea8e6>] do_vfs_ioctl+0x76/0x4a0 > > > [ 844.112781] [<ffffffff810ead5a>] sys_ioctl+0x4a/0x80 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] -> #2 (&codec->spdif_mutex){--..}: > > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa006e54b>] snd_hda_multi_out_dig_open+0x2b/0x60 [snd_hda_codec] > > > [ 844.112781] [<ffffffffa00d2649>] intel_hdmi_playback_pcm_open+0x49/0x60 [snd_hda_codec_intelhdmi] > > > [ 844.112781] [<ffffffffa007fff9>] azx_pcm_open+0x209/0x280 [snd_hda_intel] > > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] -> #1 (&chip->open_mutex){--..}: > > > [ 844.112781] [<ffffffff8107097b>] __lock_acquire+0x122b/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa007fe38>] azx_pcm_open+0x48/0x280 [snd_hda_intel] > > > [ 844.112781] [<ffffffffa004d838>] snd_pcm_open_substream+0x58/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004d9e7>] snd_pcm_open+0x137/0x260 [snd_pcm] > > > [ 844.112781] [<ffffffffa004db7c>] snd_pcm_playback_open+0x2c/0x40 [snd_pcm] > > > [ 844.112781] [<ffffffffa000e86e>] snd_open+0x9e/0x180 [snd] > > > [ 844.112781] [<ffffffff810df407>] chrdev_open+0xe7/0x1d0 > > > [ 844.112781] [<ffffffff810da06e>] __dentry_open+0xce/0x360 > > > [ 844.112781] [<ffffffff810da407>] nameidata_to_filp+0x57/0x70 > > > [ 844.112781] [<ffffffff810e909e>] do_filp_open+0x20e/0x970 > > > [ 844.112781] [<ffffffff810d9ec8>] do_sys_open+0x78/0x100 > > > [ 844.112781] [<ffffffff810d9f7b>] sys_open+0x1b/0x20 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] -> #0 (&pcm->open_mutex){--..}: > > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.112781] [<ffffffffffffffff>] 0xffffffffffffffff > > > [ 844.112781] > > > [ 844.112781] other info that might help us debug this: > > > [ 844.112781] > > > [ 844.112781] 1 lock held by mplayer/3151: > > > [ 844.112781] #0: (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > > [ 844.112781] > > > [ 844.112781] stack backtrace: > > > [ 844.112781] Pid: 3151, comm: mplayer Not tainted 2.6.28-next-20090102 #33 > > > [ 844.112781] Call Trace: > > > [ 844.112781] [<ffffffff8106f2a0>] print_circular_bug_tail+0xe0/0xf0 > > > [ 844.112781] [<ffffffff81070b1e>] __lock_acquire+0x13ce/0x1ae0 > > > [ 844.112781] [<ffffffff8106e916>] ? mark_held_locks+0x56/0xa0 > > > [ 844.112781] [<ffffffff810abcf9>] ? free_hot_cold_page+0x1b9/0x2e0 > > > [ 844.112781] [<ffffffff8106ec1d>] ? trace_hardirqs_on+0xd/0x10 > > > [ 844.112781] [<ffffffff810712c9>] lock_acquire+0x99/0xd0 > > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffff814344e8>] mutex_lock_nested+0xe8/0x370 > > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004ced3>] ? snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > > [ 844.112781] [<ffffffff810dd505>] __fput+0xd5/0x230 > > > [ 844.112781] [<ffffffff810dd67d>] fput+0x1d/0x30 > > > [ 844.112781] [<ffffffff810bed4f>] remove_vma+0x4f/0x90 > > > [ 844.112781] [<ffffffff810c01c2>] do_munmap+0x342/0x390 > > > [ 844.112781] [<ffffffff810c0260>] sys_munmap+0x50/0x80 > > > [ 844.112781] [<ffffffff8100c67a>] system_call_fastpath+0x16/0x1b > > > [ 844.119376] ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > > > > > Which can be fixed by the following patch. > > > > This alone isn't enough. You need to replace all codec->spdif_mutex > > in the control get/put/info/tlv callbacks in hda_codec.c. Otherwise > > there is no meaning of the mutex. The mutex is to protect the rewrite > > of kcontrol->private_value dynamically. > > > > Could you fix and repost? > > Ah sure. Here is the updated patch. > > Thanks, > Fengguang > --- > ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value > > Fix the following lockdep warning by not reusing the hda_codec.spdif_mutex. > > ALSA sound/pci/hda/hda_codec.c:882: hda_codec_cleanup_stream: NID=0x2 > > ======================================================= > [ INFO: possible circular locking dependency detected ] > 2.6.28-next-20090102 #33 > ------------------------------------------------------- > mplayer/3151 is trying to acquire lock: > (&pcm->open_mutex){--..}, at: [<ffffffffa004ced3>] snd_pcm_release+0x43/0xd0 [snd_pcm] > > but task is already holding lock: > (&mm->mmap_sem){----}, at: [<ffffffff810c0252>] sys_munmap+0x42/0x80 > > which lock already depends on the new lock. > > Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Applied now. Thanks. Takashi ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2009-01-09 9:00 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-01-08 15:20 [bug] sound: INFO: possible recursive locking detected Ingo Molnar 2009-01-08 15:39 ` Takashi Iwai 2009-01-08 16:10 ` Takashi Iwai 2009-01-08 16:12 ` Peter Zijlstra 2009-01-08 16:17 ` Takashi Iwai 2009-01-08 16:53 ` Takashi Iwai 2009-01-09 5:06 ` Wu Fengguang 2009-01-09 7:18 ` Takashi Iwai 2009-01-09 8:45 ` [PATCH] ALSA: hda - create hda_codec.control_mutex for kcontrol->private_value Wu Fengguang 2009-01-09 8:45 ` Wu Fengguang 2009-01-09 9:00 ` Takashi Iwai 2009-01-09 9:00 ` Takashi Iwai
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.