написаны два модуля. собираются под ядра 2.6 и под 3.2. под ядром 2.6 нет вообще никаких проблем, под ядром 3.2 при загрузке одного из модулей все нормально, при загрузке второго во время вызова request_irq в логи попадает такой дамп:
Apr 19 21:58:06 localhost kernel: ------------[ cut here ]------------ Apr 19 21:58:06 localhost kernel: WARNING: at fs/proc/generic.c:323 __xlate_proc_name+0x8e/0x98() Apr 19 21:58:06 localhost kernel: Hardware name: To Be Filled By O.E.M. Apr 19 21:58:06 localhost kernel: name 'own_module2' Apr 19 21:58:06 localhost kernel: Modules linked in: own_module2(O+) ipv6 crc_ccitt snd_hda_codec_realtek serio_raw pcspkr i2c_i801 i2c_core thermal snd_hda_intel ac video e100 fan backlight mii intel_agp intel_gtt snd_hda_codec snd_pcm iTCO_wdt iTCO_vendor_support processor button thermal_sys snd_timer snd agpgart snd_page_alloc tg3 libphy e1000 fuse xfs exportfs nfs nfs_acl auth_rpcgss lockd sunrpc jfs ext4 jbd2 raid10 dm_snapshot dm_crypt dm_mirror dm_region_hash dm_log dm_mod scsi_wait_scan hid_sunplus hid_sony hid_samsung hid_pl hid_petalynx hid_monterey hid_microsoft hid_logitech hid_gyration hid_ezkey hid_cypress hid_chicony hid_cherry hid_belkin hid_apple hid_a4tech sl811_hcd usbhid ohci_hcd ssb uhci_hcd usb_storage ehci_hcd usbcore usb_common aic94xx libsas lpfc qla2xxx megaraid_sas megaraid_mbox megaraid_mm megaraid aacraid sx8 DAC960 cciss 3w_9xxx 3w_xxxx mptsas scsi_transport_sas mptfc scsi_transport_fc scsi_tgt mptspi mptscsih mptbase atp870u dc395x qla1280 imm parport dmx3191d sym53c8xx qlogicfas408 gdth advansys initio BusLogic arcmsr aic7xxx aic79xx scsi_transport_spi sg pdc_adma sata_inic162x sata_mv ata_piix ahci libahci sata_qstor sata_vsc sata_uli sata_sis sata_sx4 sata_nv sata_via sata_svw sata_sil24 sata_sil sata_promise pata_pcmcia pcmcia pcmcia_core Apr 19 21:58:06 localhost kernel: Pid: 21030, comm: insmod Tainted: G O 3.2.1-gentoo-r2 #3 Apr 19 21:58:06 localhost kernel: Call Trace: Apr 19 21:58:06 localhost kernel: [<c012f2d6>] warn_slowpath_common+0x65/0x7a Apr 19 21:58:06 localhost kernel: [<c01f687d>] ? __xlate_proc_name+0x8e/0x98 Apr 19 21:58:06 localhost kernel: [<c012f34f>] warn_slowpath_fmt+0x26/0x2a Apr 19 21:58:06 localhost kernel: [<c01f687d>] __xlate_proc_name+0x8e/0x98 Apr 19 21:58:06 localhost kernel: [<c01f68cf>] __proc_create+0x48/0xe2 Apr 19 21:58:06 localhost kernel: [<c01f6d63>] proc_mkdir_mode+0x1e/0x43 Apr 19 21:58:06 localhost kernel: [<c01f6d97>] proc_mkdir+0xf/0x11 Apr 19 21:58:06 localhost kernel: [<c017259e>] register_handler_proc+0xc2/0xd0 Apr 19 21:58:06 localhost kernel: [<c0170baf>] __setup_irq+0x2d7/0x375 Apr 19 21:58:06 localhost kernel: [<c0170d1c>] request_threaded_irq+0xcf/0xf4 Apr 19 21:58:06 localhost kernel: [<e01fcb30>] ? msp_drv_poll+0x50/0x50 [msp] Apr 19 21:58:06 localhost kernel: [<e00f348b>] msp_drv_init+0x426/0x843 [msp] Apr 19 21:58:06 localhost kernel: [<c0414f86>] ? mutex_unlock+0x8/0xa Apr 19 21:58:06 localhost kernel: [<c0182d45>] ? trace_module_notify+0x1fb/0x205 Apr 19 21:58:06 localhost kernel: [<c0414f86>] ? mutex_unlock+0x8/0xa Apr 19 21:58:06 localhost kernel: [<c04186d1>] ? notifier_call_chain+0x26/0x48 Apr 19 21:58:06 localhost kernel: [<c0149001>] ? __blocking_notifier_call_chain+0x3d/0x48 Apr 19 21:58:06 localhost kernel: [<c010120b>] do_one_initcall+0x71/0x11e Apr 19 21:58:06 localhost kernel: [<e00f3065>] ? exch_setup+0x2b/0x2b [msp] Apr 19 21:58:06 localhost kernel: [<c0158b6f>] sys_init_module+0x1316/0x1506 Apr 19 21:58:06 localhost kernel: [<c041aed8>] sysenter_do_call+0x12/0x28 Apr 19 21:58:06 localhost kernel: ---[ end trace e41e5c7373962a7d ]---
насколько я понял, это вылетает когда цепляется прерывание и эта информация отображается куда-то в fs /proc, которой что-то не нравится. тогда непонятно, почему этого не происходит при загрузке первого модуля - в этом плане они идентичны. и хотя модуль работает, хотелось бы такого дампа в логе избавиться.