staging: bcm: fix error handling in bcm_init()
bcm_init() does not have proper error handling of usb_register(). The patch implements one. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> Acked-by: Kevin McKinney <klmckinney1@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1d200e8d0a
commit
d7b990a035
|
@ -669,6 +669,8 @@ struct class *bcm_class;
|
||||||
|
|
||||||
static __init int bcm_init(void)
|
static __init int bcm_init(void)
|
||||||
{
|
{
|
||||||
|
int retval;
|
||||||
|
|
||||||
printk(KERN_INFO "%s: %s, %s\n", DRV_NAME, DRV_DESCRIPTION, DRV_VERSION);
|
printk(KERN_INFO "%s: %s, %s\n", DRV_NAME, DRV_DESCRIPTION, DRV_VERSION);
|
||||||
printk(KERN_INFO "%s\n", DRV_COPYRIGHT);
|
printk(KERN_INFO "%s\n", DRV_COPYRIGHT);
|
||||||
|
|
||||||
|
@ -678,7 +680,13 @@ static __init int bcm_init(void)
|
||||||
return PTR_ERR(bcm_class);
|
return PTR_ERR(bcm_class);
|
||||||
}
|
}
|
||||||
|
|
||||||
return usb_register(&usbbcm_driver);
|
retval = usb_register(&usbbcm_driver);
|
||||||
|
if (retval < 0) {
|
||||||
|
printk(KERN_ERR DRV_NAME ": could not register usb driver\n");
|
||||||
|
class_destroy(bcm_class);
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static __exit void bcm_exit(void)
|
static __exit void bcm_exit(void)
|
||||||
|
|
Loading…
Reference in New Issue