cpqarry: fix return value of cpqarray_init
PATCH 1/1 cpqarry: fix return value of cpqarray_init
Subject: [PATCH] cpqarry: fix return value of cpqarray_init
From: Andrey Borzenkov <[email protected]>
As reported by Dick Gevers on Compaq ProLiant:
Oct 13 18:06:51 dvgcpl kernel: Compaq SMART2 Driver (v 2.6.0) Oct 13 18:06:51 dvgcpl kernel: sys_init_module: 'cpqarray'->init suspiciously returned 1, it should follow 0/-E convention Oct 13 18:06:51 dvgcpl kernel: sys_init_module: loading module anyway... Oct 13 18:06:51 dvgcpl kernel: Pid: 315, comm: modprobe Not tainted 2.6.27-desktop-0.rc8.2mnb #1 Oct 13 18:06:51 dvgcpl kernel: [<c0380612>] ? printk+0x18/0x1e Oct 13 18:06:51 dvgcpl kernel: [<c0158f85>] sys_init_module+0x155/0x1c0 Oct 13 18:06:51 dvgcpl kernel: [<c0103f06>] syscall_call+0x7/0xb Oct 13 18:06:51 dvgcpl kernel: =======================
Make it return 0 on success and -ENODEV if no array was found.
Reported-by Dick Gevers <[email protected]>
Signed-off-by Andrey Borzenkov <[email protected]>
---
Compile tested by Dick. I do not have hardware.
drivers/block/cpqarray.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-)
drivers/block/cpqarray.c +6 -1
@@ -567,7 +567,12 @@ static int __init cpqarray_init(void) num_cntlrs_reg++; } -return (num_cntlrs_reg); +if (num_cntlrs_reg) +return 0 ; +else { +pci_unregister_driver (&cpqarray_pci_driver); +return -ENODEV ; + } }/* Function to find the first free pointer into our hba[] array */