]> git.baikalelectronics.ru Git - kernel.git/commit
net: bnx2x: fix improper return value
authorPan Bian <bianpan2016@163.com>
Sun, 4 Dec 2016 10:46:03 +0000 (18:46 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Dec 2016 20:03:34 +0000 (15:03 -0500)
commitfbf9144bccb9e9026bae19c4055cd419f369f167
tree0a3991f85dcb5dd1adac1fbf4f09c2ea1dd3e996
parent422137b62a2d92c03e413e49b9b2cbe43df2d858
net: bnx2x: fix improper return value

Macro BNX2X_ALLOC_AND_SET(arr, lbl, func) calls kmalloc() to allocate
memory, and jumps to label "lbl" if the allocation fails. Label "lbl"
first cleans memory and then returns variable rc. Before calling the
macro, the value of variable rc is 0. Because 0 means no error, the
callers of bnx2x_init_firmware() may be misled. This patch fixes the bug,
assigning "-ENOMEM" to rc before calling macro NX2X_ALLOC_AND_SET().

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=189141

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c