Skip to content

Commit

Permalink
[S390] qdio: fix section mismatch bug.
Browse files Browse the repository at this point in the history
Fix the two section mismatch warnings below.
This fixes two real bugs since the code which has __exit annotations
may already be gone when it is called.

WARNING: vmlinux.o(.init.text+0x1cc4a): Section mismatch in reference from the function init_QDIO() to the function .exit.text:qdio_setup_exit()
The function __init init_QDIO() references
a function __exit qdio_setup_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
qdio_setup_exit() so it may be used outside an exit section.

WARNING: vmlinux.o(.init.text+0x1cc7a): Section mismatch in reference from the function init_QDIO() to the function .exit.text:qdio_remove_perf_stats()
The function __init init_QDIO() references
a function __exit qdio_remove_perf_stats().
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
qdio_remove_perf_stats() so it may be used outside an exit section.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Heiko Carstens authored and Martin Schwidefsky committed Aug 1, 2008
1 parent 8f84700 commit 3f1934b
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/s390/cio/qdio_perf.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ int __init qdio_setup_perf_stats(void)
return 0;
}

void __exit qdio_remove_perf_stats(void)
void qdio_remove_perf_stats(void)
{
#ifdef CONFIG_PROC_FS
remove_proc_entry("qdio_perf", NULL);
Expand Down
2 changes: 1 addition & 1 deletion drivers/s390/cio/qdio_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ int __init qdio_setup_init(void)
return 0;
}

void __exit qdio_setup_exit(void)
void qdio_setup_exit(void)
{
kmem_cache_destroy(qdio_q_cache);
}

0 comments on commit 3f1934b

Please sign in to comment.