The patch titled request_irq(): remove warnings from irq probing has been added to the -mm tree. Its filename is request_irq-remove-warnings-from-irq-probing.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this From: Andrew Morton <akpm@xxxxxxxx> - Add new SA_PROBEIRQ which suppresses the new sharing-mismatch warning. Some drivers like to use request_irq() to find an unused interrupt slot. - Use it in i82365.c - Kill unused SA_PROBE. Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- drivers/pcmcia/i82365.c | 7 ++++--- include/asm-xtensa/signal.h | 2 +- include/linux/signal.h | 4 +++- kernel/irq/manage.c | 6 ++++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff -puN include/linux/signal.h~request_irq-remove-warnings-from-irq-probing include/linux/signal.h --- devel/include/linux/signal.h~request_irq-remove-warnings-from-irq-probing 2006-04-23 14:55:13.000000000 -0700 +++ devel-akpm/include/linux/signal.h 2006-04-23 15:02:17.000000000 -0700 @@ -14,10 +14,12 @@ * * SA_INTERRUPT is also used by the irq handling routines. * SA_SHIRQ is for shared interrupt support on PCI and EISA. + * SA_PROBEIRQ is set by callers when they expect sharing mismatches to occur */ -#define SA_PROBE SA_ONESHOT #define SA_SAMPLE_RANDOM SA_RESTART #define SA_SHIRQ 0x04000000 +#define SA_PROBEIRQ 0x08000000 + /* * As above, these correspond to the IORESOURCE_IRQ_* defines in * linux/ioport.h to select the interrupt line behaviour. When diff -puN kernel/irq/manage.c~request_irq-remove-warnings-from-irq-probing kernel/irq/manage.c --- devel/kernel/irq/manage.c~request_irq-remove-warnings-from-irq-probing 2006-04-23 14:55:13.000000000 -0700 +++ devel-akpm/kernel/irq/manage.c 2006-04-23 14:57:01.000000000 -0700 @@ -246,8 +246,10 @@ int setup_irq(unsigned int irq, struct i mismatch: spin_unlock_irqrestore(&desc->lock, flags); - printk(KERN_ERR "%s: irq handler mismatch\n", __FUNCTION__); - dump_stack(); + if (!(new->flags & SA_PROBE_IRQ)) { + printk(KERN_ERR "%s: irq handler mismatch\n", __FUNCTION__); + dump_stack(); + } return -EBUSY; } diff -puN drivers/pcmcia/i82365.c~request_irq-remove-warnings-from-irq-probing drivers/pcmcia/i82365.c --- devel/drivers/pcmcia/i82365.c~request_irq-remove-warnings-from-irq-probing 2006-04-23 14:55:13.000000000 -0700 +++ devel-akpm/drivers/pcmcia/i82365.c 2006-04-23 14:58:14.000000000 -0700 @@ -509,7 +509,8 @@ static irqreturn_t i365_count_irq(int ir static u_int __init test_irq(u_short sock, int irq) { debug(2, " testing ISA irq %d\n", irq); - if (request_irq(irq, i365_count_irq, 0, "scan", i365_count_irq) != 0) + if (request_irq(irq, i365_count_irq, SA_PROBEIRQ, "scan", + i365_count_irq) != 0) return 1; irq_hits = 0; irq_sock = sock; msleep(10); @@ -561,7 +562,7 @@ static u_int __init isa_scan(u_short soc } else { /* Fallback: just find interrupts that aren't in use */ for (i = 0; i < 16; i++) - if ((mask0 & (1 << i)) && (_check_irq(i, 0) == 0)) + if ((mask0 & (1 << i)) && (_check_irq(i, SA_PROBEIRQ) == 0)) mask1 |= (1 << i); printk("default"); /* If scan failed, default to polled status */ @@ -725,7 +726,7 @@ static void __init add_pcic(int ns, int u_int cs_mask = mask & ((cs_irq) ? (1<<cs_irq) : ~(1<<12)); for (cs_irq = 15; cs_irq > 0; cs_irq--) if ((cs_mask & (1 << cs_irq)) && - (_check_irq(cs_irq, 0) == 0)) + (_check_irq(cs_irq, SA_PROBEIRQ) == 0)) break; if (cs_irq) { grab_irq = 1; diff -puN include/asm-xtensa/signal.h~request_irq-remove-warnings-from-irq-probing include/asm-xtensa/signal.h --- devel/include/asm-xtensa/signal.h~request_irq-remove-warnings-from-irq-probing 2006-04-23 14:59:43.000000000 -0700 +++ devel-akpm/include/asm-xtensa/signal.h 2006-04-23 15:00:07.000000000 -0700 @@ -118,9 +118,9 @@ typedef struct { * SA_INTERRUPT is also used by the irq handling routines. * SA_SHIRQ is for shared interrupt support on PCI and EISA. */ -#define SA_PROBE SA_ONESHOT #define SA_SAMPLE_RANDOM SA_RESTART #define SA_SHIRQ 0x04000000 +#define SA_PROBEIRQ 0x08000000 #endif #define SIG_BLOCK 0 /* for blocking signals */ _ Patches currently in -mm which might be from akpm@xxxxxxxx are origin.patch config_net=n-build-fix.patch revert-x86-deterine-xapic-using-apic-version.patch git-acpi.patch acpi-update-asus_acpi-driver-registration-fix.patch acpi-memory-hotplug-cannot-manage-_crs-with-plural-resoureces.patch catch-notification-of-memory-add-event-of-acpi-via-container-driver-register-start-func-for-memory-device.patch catch-notification-of-memory-add-event-of-acpi-via-container-driveravoid-redundant-call-add_memory.patch remove-for_each_cpu.patch sony_apci-resume.patch powernow-k8-crash-workaround.patch git-dvb.patch dvb-core-ule-fixes-and-rfc4326-additions-kernel-2616-tidy.patch sparc32-vivi-fix.patch git-dvb-compat-build-fix.patch bt866-build-fix.patch connector-exports.patch opencores-i2c-bus-driver-tidy.patch git-libata-all.patch git-mtd.patch pci-error-recovery-e1000-network-device-driver.patch powerpc-pseries-avoid-crash-in-pci-code-if-mem-system-not-up-tidy.patch gregkh-pci-pci-64-bit-resources-drivers-others-changes-amba-fix.patch git-pcmcia.patch git-scsi-misc.patch megaraid-unused-variable.patch enable-advansys-driver.patch advansys-warning-workaround.patch scsi-clean-up-warnings-in-advansys-driver-fix.patch fix-sco-on-some-bluetooth-adapters-tidy.patch git-watchdog.patch pg_uncached-is-ia64-only.patch migration-remove-unnecessary-pageswapcache-checks-fix.patch wait_table-and-zonelist-initializing-for-memory-hotadd-wait_table-initialization-fixes.patch preserve-write-permissions-in-migration-entries-fix.patch read-write-migration-entries-make-mprotect-convert-write-migration-fix.patch read-write-migration-entries-make-mprotect-convert-write-migration-fix-fix.patch read-write-migration-entries-make-mprotect-convert-write-migration-fix-fix-fix.patch slab-cleanup-kmem_getpages-fix.patch slab-stop-using-list_for_each-fix.patch pgdat-allocation-for-new-node-add-specify-node-id-tidy.patch pgdat-allocation-for-new-node-add-get-node-id-by-acpi-tidy.patch pgdat-allocation-for-new-node-add-generic-alloc-node_data-tidy.patch pgdat-allocation-for-new-node-add-export-kswapd-start-func-tidy.patch mm-introduce-remap_vmalloc_range-fix.patch acx1xx-wireless-driver.patch x86-x86_64-avoid-irq0-ioapic-pin-collision-tidy.patch prune_one_dentry-tweaks.patch mmput-might-sleep.patch jbd-avoid-kfree-null.patch ext3_clear_inode-avoid-kfree-null.patch hangcheck-remove-monotomic_clock-on-x86.patch pi-futex-futex-code-cleanups-fix.patch reiser4.patch savagefb-add-state-save-and_restore-hooks-tidy.patch kgdb-core-lite-add-reboot-command.patch kgdb-8250-fix.patch nr_blockdev_pages-in_interrupt-warning.patch device-suspend-debug.patch revert-tty-buffering-comment-out-debug-code.patch slab-leaks3-default-y.patch x86-kmap_atomic-debugging.patch request_irq-remove-warnings-from-irq-probing.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