title: request_irq returns EBUSY and free_irq says that the IRQ is free
body: <p>I am developing a driver for the IRQ number 8, which corresponds to the RTC Clock. I have the following problem. When I request that IRQ with request_irq I get an EBUSY error. I thought that using free_irq(8,NULL) first should solve the problem (at least it worked with kernel version 2.6.24-23-generic). However, when I use it, I get the error "Trying to free already-free IRQ 8". Checking /proc/interrupts I see the following:</p>
  
  <p><code>8:          1          0   IO-APIC-edge      rtc0</code></p>
  
  <p>This is the error I get in dmesg:</p>
  
  <pre><code>[14876.256173] ------------[ cut here ]------------
  [14876.256182] WARNING: at kernel/irq/manage.c:1195 __free_irq+0x91/0x190()
  [14876.256185] Hardware name: Aspire 7720     
  [14876.256187] Trying to free already-free IRQ 8
  [14876.256189] Modules linked in: cmos_driver_alarm(O+) cmos_driver_ioctl(O) nls_cp437 vfat fat usb_storage uas listapci_driver(O) cmos_driver_read(O) aes_i586 cryptd aes_generic fuse mxl5005s zl10353 dvb_usb_ce6230 dvb_usb dvb_core arc4 joydev nouveau iwl3945 iwlegacy mac80211 ir_lirc_codec lirc_dev drm_kms_helper snd_hda_codec_realtek ir_mce_kbd_decoder ttm ir_sanyo_decoder firewire_ohci sdhci_pci sdhci cfg80211 drm ir_sony_decoder ir_jvc_decoder snd_hda_intel snd_hda_codec snd_pcm mmc_core tg3 intel_agp intel_gtt agpgart r852 sm_common nand nand_ecc ir_rc6_decoder iTCO_wdt firewire_core snd_page_alloc i2c_i801 r592 snd_hwdep serio_raw nand_ids ir_rc5_decoder libphy iTCO_vendor_support crc_itu_t i2c_core mtd memstick psmouse rc_rc6_mce ir_nec_decoder thermal battery pcspkr processor video button ac acer_wmi mxm_wmi evdev sparse_keymap rfkill ene_ir wmi rc_core vboxnetflt(O) vboxdrv(O) vhba(O) snd_seq snd_timer snd_seq_device snd soundcore ext4 crc16 jbd2 mbcache sr_mod cdrom sd_mod pata_acpi hid_logitech_dj usbhid hid ata_generic ata_piix libata scsi_mod uhci_hcd ehci_hcd usbcore usb_common [last unloaded: cmos_driver_alarm]
  [14876.256283] Pid: 10363, comm: insmod Tainted: G        W  O 3.3.1-1-ARCH #1
  [14876.256286] Call Trace:
  [14876.256292]  [&lt;c01351f2&gt;] warn_slowpath_common+0x72/0xa0
  [14876.256296]  [&lt;c01a89e1&gt;] ? __free_irq+0x91/0x190
  [14876.256299]  [&lt;c01a89e1&gt;] ? __free_irq+0x91/0x190
  [14876.256303]  [&lt;c01352c3&gt;] warn_slowpath_fmt+0x33/0x40
  [14876.256306]  [&lt;c01a89e1&gt;] __free_irq+0x91/0x190
  [14876.256310]  [&lt;c01a8b23&gt;] free_irq+0x43/0xa0
  [14876.256314]  [&lt;f803501e&gt;] init_driver+0x1e/0xc8 [cmos_driver_alarm]
  [14876.256318]  [&lt;c0101124&gt;] do_one_initcall+0x34/0x170
  [14876.256325]  [&lt;f8035000&gt;] ? 0xf8034fff
  [14876.256330]  [&lt;c018f295&gt;] sys_init_module+0x8c5/0x1a70
  [14876.256342]  [&lt;c04ae85f&gt;] sysenter_do_call+0x12/0x28
  [14876.256345] ---[ end trace 81112f980bdc845e ]---
  </code></pre>
  
  <p>Any idea of what I am doing wrong? Thank you in advance</p>