]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
bnge: use int for bnge_fix_rings_count() return value
authorAlok Tiwari <alok.a.tiwari@oracle.com>
Sat, 1 Aug 2026 10:09:20 +0000 (03:09 -0700)
committerJakub Kicinski <kuba@kernel.org>
Wed, 5 Aug 2026 01:16:48 +0000 (18:16 -0700)
bnge_fix_rings_count() returns 0 on success or a negative errno on failure
However, bnge_adjust_rings() stores its return value in a u16 variable,
causing negative error codes such as -ENOMEM to be converted to a large
positive value.

Use an int for the return code variable so that error values are
preserved and propagated correctly.

Fixes: 627c67f038d2 ("bng_en: Add resource management support")
Signed-off-by: Alok Tiwari <alok.a.tiwari@oracle.com>
Reviewed-by: Bhargava Marreddy <bhargava.marreddy@broadcom.com>
Link: https://patch.msgid.link/20260801100923.1498570-1-alok.a.tiwari@oracle.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/bnge/bnge_resc.c

index 0e94f092813e06bb34bc0a9001e37a7614d8f6fb..4711dd4945ffeb5d0507bc043479d4d24f435d9b 100644 (file)
@@ -163,7 +163,8 @@ static int bnge_adjust_rings(struct bnge_dev *bd, u16 *rx,
        u16 tx_chunks = bnge_num_tx_to_cp(bd, *tx);
 
        if (tx_chunks != *tx) {
-               u16 tx_saved = tx_chunks, rc;
+               u16 tx_saved = tx_chunks;
+               int rc;
 
                rc = bnge_fix_rings_count(rx, &tx_chunks, max_nq, sh);
                if (rc)