From: Bart Westgeest Date: Wed, 25 Jan 2012 18:46:32 +0000 (-0500) Subject: staging: usbip: fix to prevent potentially using uninitialized spinlock X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=737912e11bf5bd4874acc771d8511a6eab891fc5;p=openwrt%2Fstaging%2Fblogic.git staging: usbip: fix to prevent potentially using uninitialized spinlock The stub_probe function can be called as soon as the stub_driver is registered. This can lead to the busid_table_lock being used before it is initialized. Moved calling the init_busid_table function (which initalizes this spinlock) to be called earlier in the init function to prevent this from happening. Signed-off-by: Bart Westgeest Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/usbip/stub_main.c b/drivers/staging/usbip/stub_main.c index 2d6317850064..705a9e530a19 100644 --- a/drivers/staging/usbip/stub_main.c +++ b/drivers/staging/usbip/stub_main.c @@ -246,8 +246,9 @@ static int __init usbip_host_init(void) { int ret; - stub_priv_cache = KMEM_CACHE(stub_priv, SLAB_HWCACHE_ALIGN); + init_busid_table(); + stub_priv_cache = KMEM_CACHE(stub_priv, SLAB_HWCACHE_ALIGN); if (!stub_priv_cache) { pr_err("kmem_cache_create failed\n"); return -ENOMEM; @@ -266,7 +267,6 @@ static int __init usbip_host_init(void) goto err_create_file; } - init_busid_table(); pr_info(DRIVER_DESC " v" USBIP_VERSION "\n"); return ret;