The patch titled ata: force use of shared interrupts has been removed from the -mm tree. Its filename was ata-force-use-of-shared-interrupts.patch This patch was dropped because it is obsolete ------------------------------------------------------ Subject: ata: force use of shared interrupts From: Ingo Molnar <mingo@xxxxxxx> Got this with all SATA/PATA drivers enabled: Calling initcall 0xc05aceed: legacy_init+0x0/0x5b3() ata5: PATA max PIO4 cmd 0x170 ctl 0x376 bmdma 0x0 irq 14 IRQ handler type mismatch for IRQ 14 current handler: ide0 [<c010501e>] dump_trace+0x64/0x1cc [<c010519f>] show_trace_log_lvl+0x19/0x2e [<c0105511>] show_trace+0x12/0x14 [<c010552a>] dump_stack+0x17/0x19 [<c016078f>] setup_irq+0x1c2/0x1dc [<c0160830>] request_irq+0x87/0xa7 [<c02cc7c6>] ata_device_add+0x296/0x4dc [<c05ad3e0>] legacy_init+0x4f3/0x5b3 [<c01004f9>] init+0x135/0x3c0 [<c0104d67>] kernel_thread_helper+0x7/0x10 The patch below solves it, although i suspect the irq_flags field could be eliminated altogether now - all drivers must be prepared to handle shared interrupts. Signed-off-by: Ingo Molnar <mingo@xxxxxxx> Cc: Jeff Garzik <jeff@xxxxxxxxxx> Cc: Tejun Heo <htejun@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/ata/libata-core.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -puN drivers/ata/libata-core.c~ata-force-use-of-shared-interrupts drivers/ata/libata-core.c --- a/drivers/ata/libata-core.c~ata-force-use-of-shared-interrupts +++ a/drivers/ata/libata-core.c @@ -5687,8 +5687,8 @@ int ata_device_add(const struct ata_prob } /* obtain irq, that may be shared between channels */ - rc = request_irq(ent->irq, ent->port_ops->irq_handler, ent->irq_flags, - DRV_NAME, host); + rc = request_irq(ent->irq, ent->port_ops->irq_handler, + ent->irq_flags | SA_SHIRQ, DRV_NAME, host); if (rc) { dev_printk(KERN_ERR, dev, "irq %lu request failed: %d\n", ent->irq, rc); @@ -5701,8 +5701,8 @@ int ata_device_add(const struct ata_prob so trap it now */ BUG_ON(ent->irq == ent->irq2); - rc = request_irq(ent->irq2, ent->port_ops->irq_handler, ent->irq_flags, - DRV_NAME, host); + rc = request_irq(ent->irq2, ent->port_ops->irq_handler, + ent->irq_flags | SA_SHIRQ, DRV_NAME, host); if (rc) { dev_printk(KERN_ERR, dev, "irq %lu request failed: %d\n", ent->irq2, rc); _ Patches currently in -mm which might be from mingo@xxxxxxx are origin.patch ata-force-use-of-shared-interrupts.patch git-scsi-misc.patch genapic-optimize-fix-apic-mode-setup.patch cleanup-arch-i386-kernel-smpbootcsmp_tune_scheduling.patch convert-pm_sem-to-a-mutex.patch convert-pm_sem-to-a-mutex-fix.patch lockdep-annotate-nfs-nfsd-in-kernel-sockets.patch lockdep-annotate-nfs-nfsd-in-kernel-sockets-tidy.patch sysrq-x-show-blocked-tasks.patch lockdep-internal-locking-fixes.patch lockdep-misc-fixes-in-lockdepc.patch cpuset-remove-sched-domain-hooks-from-cpusets.patch binfmt_elf-randomize-pie-binaries.patch disable-clone_child_cleartid-for-abnormal-exit.patch lockdep-annotate-bcsp-driver.patch lockdep-print-current-locks-on-in_atomic-warnings.patch lockdep-name-some-old-style-locks.patch sleep-profiling.patch sleep-profiling-fixes.patch sleep-profiling-fix.patch debug-workqueue-locking-sanity.patch debug-workqueue-locking-sanity-fix.patch retries-in-ext3_prepare_write-violate-ordering-requirements.patch ktime-fix-signed--unsigned-mismatch-in-ktime_to_ns.patch kprobes-enable-booster-on-the-preemptible-kernel.patch hotplug-cpu-clean-up-hotcpu_notifier-use.patch remove-kernel-lockdepclockdep_internal.patch remove-the-old-bd_mutex-lockdep-annotation.patch new-bd_mutex-lockdep-annotation.patch remove-lock_key-approach-to-managing-nested-bd_mutex-locks.patch simplify-some-aspects-of-bd_mutex-nesting.patch use-mutex_lock_nested-for-bd_mutex-to-avoid-lockdep-warning.patch avoid-lockdep-warning-in-md.patch fix-generic-warn_on-message.patch schedc-correct-comment-for-this_rq_lock-routine.patch sched-fix-migration-cost-estimator.patch sched-domain-move-sched-group-allocations-to-percpu-area.patch move_task_off_dead_cpu-should-be-called-with-disabled-ints.patch sched-domain-increase-the-smt-busy-rebalance-interval.patch sched-avoid-taking-rq-lock-in-wake_priority_sleeper.patch sched-remove-staggering-of-load-balancing.patch sched-disable-interrupts-for-locking-in-load_balance.patch sched-extract-load-calculation-from-rebalance_tick.patch sched-move-idle-status-calculation-into-rebalance_tick.patch sched-use-softirq-for-load-balancing.patch sched-call-tasklet-less-frequently.patch sched-add-option-to-serialize-load-balancing.patch sched-add-option-to-serialize-load-balancing-fix.patch sched-improve-migration-accuracy.patch sched-improve-migration-accuracy-tidy.patch sched-decrease-number-of-load-balances.patch mm-only-sched-add-a-few-scheduler-event-counters.patch sched-optimize-activate_task-for-rt-task.patch kernel-schedc-whitespace-cleanups.patch kernel-schedc-whitespace-cleanups-more.patch sched-add-above-background-load-function.patch mm-implement-swap-prefetching.patch mm-implement-swap-prefetching-use-ctl_unnumbered.patch sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch gtod-exponential-update_wall_time.patch gtod-persistent-clock-support-core.patch gtod-persistent-clock-support-i386.patch time-uninline-jiffiesh.patch time-uninline-jiffiesh-fix.patch time-fix-msecs_to_jiffies-bug.patch time-fix-timeout-overflow.patch cleanup-uninline-irq_enter-and-move-it-into-a-function.patch dynticks-extend-next_timer_interrupt-to-use-a-reference-jiffie.patch dynticks-extend-next_timer_interrupt-to-use-a-reference-jiffie-remove-incorrect-warning-in-kernel-timerc.patch hrtimers-namespace-and-enum-cleanup.patch hrtimers-clean-up-locking.patch updated-hrtimers-state-tracking.patch updated-hrtimers-clean-up-callback-tracking.patch updated-hrtimers-move-and-add-documentation.patch updated-add-a-framework-to-manage-clock-event-devices.patch updated-acpi-include-apich.patch updated-acpi-keep-track-of-timer-broadcast.patch updated-acpi-add-state-propagation-for-dynamic-broadcasting.patch updated-i386-cleanup-apic-code.patch updated-i386-convert-to-clock-event-devices.patch updated-pm_timer-allow-early-access-and-move-externs-to-a-header-file.patch updated-i386-rework-local-apic-calibration.patch updated-high-res-timers-core.patch updated-gtod-mark-tsc-unusable-for-highres-timers.patch updated-dynticks-core-code.patch updated-dyntick-add-nohz-stats-to-proc-stat.patch updated-dynticks-i386-arch-code.patch updated-dynticks-fix-nmi-watchdog.patch updated-high-res-timers-dynticks-enable-i386-support.patch updated-debugging-feature-timer-stats.patch clockevents-core-check-for-clock-event-device-handler-being-non-null-before-calling-it.patch round_jiffies-infrastructure.patch round_jiffies-infrastructure-fix.patch clocksource-add-usage-of-config_sysfs.patch clocksource-small-cleanup-2.patch clocksource-small-cleanup-2-fix.patch clocksource-small-acpi_pm-cleanup.patch detect-atomic-counter-underflows.patch debug-shared-irqs.patch make-frame_pointer-default=y.patch mutex-subsystem-synchro-test-module.patch vdso-print-fatal-signals.patch vdso-improve-print_fatal_signals-support-by-adding-memory-maps.patch vdso-print-fatal-signals-use-ctl_unnumbered.patch lockdep-show-held-locks-when-showing-a-stackdump.patch lockdep-show-held-locks-when-showing-a-stackdump-fix.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html