Re: [PATCH] scsi: megaraid_mbox: return -ENOMEM on megaraid_init_mbox() allocation failure

From: James Bottomley
Date: Tue Oct 19 2021 - 07:44:21 EST


On Tue, 2021-10-19 at 18:53 +0800, Jiapeng Chong wrote:
> From: chongjiapeng <jiapeng.chong@xxxxxxxxxxxxxxxxx>
>
> Fixes the following smatch warning:
>
> drivers/scsi/megaraid/megaraid_mbox.c:715 megaraid_init_mbox() warn:
> returning -1 instead of -ENOMEM is sloppy.

Why is this a problem? megaraid_init_mbox() is called using this
pattern:

// Start the mailbox based controller
if (megaraid_init_mbox(adapter) != 0) {
con_log(CL_ANN, (KERN_WARNING
"megaraid: mailbox adapter did not initialize\n"));

goto out_free_adapter;
}

So the only meaningful returns are 0 on success and anything else
(although megaraid uses -1 for this) on failure. Since -1 is the
conventional failure return, why alter that to something different that
still won't be printed or acted on? And worse still, if we make this
change, it will likely excite other static checkers to complain we're
losing error information ...

James