[libata] Fix section mismatch: ata_sff_exit
authorLuck, Tony <tony.luck@intel.com>
Mon, 23 Aug 2010 20:18:02 +0000 (13:18 -0700)
committerJeff Garzik <jgarzik@redhat.com>
Fri, 22 Oct 2010 00:21:04 +0000 (20:21 -0400)
This build error showed up in linux-next tag next-20100820 for ia64:

WARNING: vmlinux.o(.init.text+0x4a952): Section mismatch in reference from the function ata_init() to the function .exit.text:ata_sff_exit()
The function __init ata_init() references
a function __exit ata_sff_exit().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __exit annotation of
ata_sff_exit() so it may be used outside an exit section.

Sure enough, dropping the __exit fixes the problem.

Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-sff.c

index e30c537cce32f99ab7fcb07f7f124cd920c4cd4b..193f242eec056a09644a5b046d2929cda27ae645 100644 (file)
@@ -3342,7 +3342,7 @@ int __init ata_sff_init(void)
        return 0;
 }
 
-void __exit ata_sff_exit(void)
+void ata_sff_exit(void)
 {
        destroy_workqueue(ata_sff_wq);
 }