diff options
Diffstat (limited to 'drivers/message/fusion/mptctl.c')
| -rw-r--r-- | drivers/message/fusion/mptctl.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c index dce1e9c2cdc..89cab5798e3 100644 --- a/drivers/message/fusion/mptctl.c +++ b/drivers/message/fusion/mptctl.c @@ -83,7 +83,7 @@ MODULE_VERSION(my_VERSION);  /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ -static int mptctl_id = -1; +static u8 mptctl_id = MPT_MAX_PROTOCOL_DRIVERS;  static DECLARE_WAIT_QUEUE_HEAD ( mptctl_wait ); @@ -2936,7 +2936,8 @@ static int __init mptctl_init(void)  	 *  Install our handler  	 */  	++where; -	if ((mptctl_id = mpt_register(mptctl_reply, MPTCTL_DRIVER)) < 0) { +	mptctl_id = mpt_register(mptctl_reply, MPTCTL_DRIVER); +	if (!mptctl_id || mptctl_id >= MPT_MAX_PROTOCOL_DRIVERS) {  		printk(KERN_ERR MYNAM ": ERROR: Failed to register with Fusion MPT base driver\n");  		misc_deregister(&mptctl_miscdev);  		err = -EBUSY;  |