- Patch from Richard Sharpe <realrichardsharpe@gmail.com> to fix an unterminated...
authorvlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Mon, 1 Dec 2008 18:36:54 +0000 (18:36 +0000)
committervlnb <vlnb@d57e44dd-8a1f-0410-8b47-8ef2f437770f>
Mon, 1 Dec 2008 18:36:54 +0000 (18:36 +0000)
the compiler in an ifdef block.

 - Memory leak fixed on error path in scst_local

 - Docs cleanups

git-svn-id: https://scst.svn.sourceforge.net/svnroot/scst/trunk@592 d57e44dd-8a1f-0410-8b47-8ef2f437770f

scst/src/dev_handlers/scst_user.c
scst/src/scst_main.c
scst_local/scst_local.c

index 8d87750..04bbd00 100644 (file)
@@ -29,8 +29,8 @@
 
 #if defined(CONFIG_HIGHMEM4G) || defined(CONFIG_HIGHMEM64G)
 #warning "HIGHMEM kernel configurations are not supported by this module, \
-       because nowadays it doesn't worth the effort. Consider change \
-       VMSPLIT option or use 64-bit configuration instead. See README file \
+       because nowadays it doesn't worth the effort. Consider changing \
+       VMSPLIT option or use 64-bit configuration instead. See README file \
        for details."
 #endif
 
@@ -2958,7 +2958,7 @@ static int __init init_scst_user(void)
 
 #if defined(CONFIG_HIGHMEM4G) || defined(CONFIG_HIGHMEM64G)
        PRINT_ERROR("%s", "HIGHMEM kernel configurations are not supported. "
-               "Consider change VMSPLIT option or use 64-bit "
+               "Consider changing VMSPLIT option or use a 64-bit "
                "configuration instead. See README file for details.");
        res = -EINVAL;
        goto out;
index 71f71b8..3f4a4fb 100644 (file)
@@ -35,8 +35,8 @@
 
 #if defined(CONFIG_HIGHMEM4G) || defined(CONFIG_HIGHMEM64G)
 #warning "HIGHMEM kernel configurations are fully supported, but not \
-       recommended for performance reasons. Consider change VMSPLIT \
-       option or use 64-bit configuration instead. See README file for \
+       recommended for performance reasons. Consider changing VMSPLIT \
+       option or use 64-bit configuration instead. See README file for \
        details."
 #endif
 
@@ -1697,7 +1697,7 @@ static int __init init_scst(void)
 #if !defined(SCST_ALLOC_IO_CONTEXT_EXPORTED)
        PRINT_WARNING("%s", "Patch export_alloc_io_context was not applied on "
                "your kernel. SCST will be working with not the best "
-               "performance."
+               "performance.");
 #endif
 #endif
 
index 902c175..fe34dd3 100644 (file)
@@ -716,6 +716,15 @@ static int __init scst_local_init(void)
 
        TRACE_ENTRY();
 
+#if defined(CONFIG_HIGHMEM4G) || defined(CONFIG_HIGHMEM64G)
+       PRINT_ERROR("%s", "HIGHMEM kernel configurations are not supported. "
+               "Consider changing VMSPLIT option or use a 64-bit "
+               "configuration instead. See SCST core README file for "
+               "details.");
+       ret = -EINVAL;
+       goto out;
+#endif
+
        TRACE_DBG("Adapters: %d\n", scst_local_add_host);
 
        if (scst_local_num_tgts > SCST_LOCAL_MAX_TARGETS)
@@ -739,7 +748,7 @@ static int __init scst_local_init(void)
        if (ret < 0) {
                printk(KERN_WARNING "%s: device_register error: %d\n",
                       __func__, ret);
-               goto free_stuff;
+               goto destroy_kmem;
        }
        ret = bus_register(&scst_fake_lld_bus);
        if (ret < 0) {
@@ -788,8 +797,9 @@ static int __init scst_local_init(void)
                }
        }
 
-       TRACE_EXIT();
-       return 0;
+out:
+       TRACE_EXIT_RES(ret);
+       return ret;
 
 del_files:
        do_remove_driverfs_files();
@@ -799,10 +809,9 @@ bus_unreg:
        bus_unregister(&scst_fake_lld_bus);
 dev_unreg:
        device_unregister(&scst_fake_primary);
-free_stuff:
-
-       TRACE_EXIT_RES(ret);
-       return ret;
+destroy_kmem:
+       kmem_cache_destroy(tgt_specific_pool);
+       goto out;
 }
 
 static void __exit scst_local_exit(void)