diff --git a/scst/src/dev_handlers/scst_user.c b/scst/src/dev_handlers/scst_user.c index 8d87750d8..04bbd0070 100644 --- a/scst/src/dev_handlers/scst_user.c +++ b/scst/src/dev_handlers/scst_user.c @@ -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 a 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; diff --git a/scst/src/scst_main.c b/scst/src/scst_main.c index 71f71b867..3f4a4fbc3 100644 --- a/scst/src/scst_main.c +++ b/scst/src/scst_main.c @@ -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 a 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 diff --git a/scst_local/scst_local.c b/scst_local/scst_local.c index 902c1758f..fe34dd324 100644 --- a/scst_local/scst_local.c +++ b/scst_local/scst_local.c @@ -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)