diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2006-09-27 04:49:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-27 11:26:10 -0400 |
commit | 1a1d92c10dd24bbdc28b3d6e2d03ec199dd3a65b (patch) | |
tree | fade83955f75e718e39153d6f81d221403338bed /drivers | |
parent | f52720ca5f48574e347dff35ffe6b389ace61537 (diff) |
[PATCH] Really ignore kmem_cache_destroy return value
* Rougly half of callers already do it by not checking return value
* Code in drivers/acpi/osl.c does the following to be sure:
(void)kmem_cache_destroy(cache);
* Those who check it printk something, however, slab_error already printed
the name of failed cache.
* XFS BUGs on failed kmem_cache_destroy which is not the decision
low-level filesystem driver should make. Converted to ignore.
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/osl.c | 2 | ||||
-rw-r--r-- | drivers/infiniband/core/mad.c | 5 | ||||
-rw-r--r-- | drivers/usb/host/uhci-hcd.c | 8 |
3 files changed, 4 insertions, 11 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 507f051d1cef..20beea778ea2 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -1079,7 +1079,7 @@ acpi_status acpi_os_purge_cache(acpi_cache_t * cache) | |||
1079 | 1079 | ||
1080 | acpi_status acpi_os_delete_cache(acpi_cache_t * cache) | 1080 | acpi_status acpi_os_delete_cache(acpi_cache_t * cache) |
1081 | { | 1081 | { |
1082 | (void)kmem_cache_destroy(cache); | 1082 | kmem_cache_destroy(cache); |
1083 | return (AE_OK); | 1083 | return (AE_OK); |
1084 | } | 1084 | } |
1085 | 1085 | ||
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c index 082f03c158f0..493f4c65c7a2 100644 --- a/drivers/infiniband/core/mad.c +++ b/drivers/infiniband/core/mad.c | |||
@@ -2987,10 +2987,7 @@ error1: | |||
2987 | static void __exit ib_mad_cleanup_module(void) | 2987 | static void __exit ib_mad_cleanup_module(void) |
2988 | { | 2988 | { |
2989 | ib_unregister_client(&mad_client); | 2989 | ib_unregister_client(&mad_client); |
2990 | 2990 | kmem_cache_destroy(ib_mad_cache); | |
2991 | if (kmem_cache_destroy(ib_mad_cache)) { | ||
2992 | printk(KERN_DEBUG PFX "Failed to destroy ib_mad cache\n"); | ||
2993 | } | ||
2994 | } | 2991 | } |
2995 | 2992 | ||
2996 | module_init(ib_mad_init_module); | 2993 | module_init(ib_mad_init_module); |
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index b7402ceb3e93..eb4eab98e8bf 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c | |||
@@ -913,8 +913,7 @@ static int __init uhci_hcd_init(void) | |||
913 | return 0; | 913 | return 0; |
914 | 914 | ||
915 | init_failed: | 915 | init_failed: |
916 | if (kmem_cache_destroy(uhci_up_cachep)) | 916 | kmem_cache_destroy(uhci_up_cachep); |
917 | warn("not all urb_privs were freed!"); | ||
918 | 917 | ||
919 | up_failed: | 918 | up_failed: |
920 | debugfs_remove(uhci_debugfs_root); | 919 | debugfs_remove(uhci_debugfs_root); |
@@ -930,10 +929,7 @@ errbuf_failed: | |||
930 | static void __exit uhci_hcd_cleanup(void) | 929 | static void __exit uhci_hcd_cleanup(void) |
931 | { | 930 | { |
932 | pci_unregister_driver(&uhci_pci_driver); | 931 | pci_unregister_driver(&uhci_pci_driver); |
933 | 932 | kmem_cache_destroy(uhci_up_cachep); | |
934 | if (kmem_cache_destroy(uhci_up_cachep)) | ||
935 | warn("not all urb_privs were freed!"); | ||
936 | |||
937 | debugfs_remove(uhci_debugfs_root); | 933 | debugfs_remove(uhci_debugfs_root); |
938 | kfree(errbuf); | 934 | kfree(errbuf); |
939 | } | 935 | } |