]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cxgb4: Avoid removal of uninserted tid
authorAnumula Murali Mohan Reddy <anumula@chelsio.com>
Fri, 3 Jan 2025 09:23:27 +0000 (14:53 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 1 Feb 2025 17:22:19 +0000 (18:22 +0100)
[ Upstream commit 4c1224501e9d6c5fd12d83752f1c1b444e0e3418 ]

During ARP failure, tid is not inserted but _c4iw_free_ep()
attempts to remove tid which results in error.
This patch fixes the issue by avoiding removal of uninserted tid.

Fixes: 59437d78f088 ("cxgb4/chtls: fix ULD connection failures due to wrong TID base")
Signed-off-by: Anumula Murali Mohan Reddy <anumula@chelsio.com>
Signed-off-by: Potnuri Bharat Teja <bharat@chelsio.com>
Link: https://patch.msgid.link/20250103092327.1011925-1-anumula@chelsio.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

index 720f2ca7f8566e1bc39f7e152d0efb90057bf1dc..75ff6bf1b58e34fa84081176cd0b271a939b65ac 100644 (file)
@@ -1800,7 +1800,10 @@ void cxgb4_remove_tid(struct tid_info *t, unsigned int chan, unsigned int tid,
        struct adapter *adap = container_of(t, struct adapter, tids);
        struct sk_buff *skb;
 
-       WARN_ON(tid_out_of_range(&adap->tids, tid));
+       if (tid_out_of_range(&adap->tids, tid)) {
+               dev_err(adap->pdev_dev, "tid %d out of range\n", tid);
+               return;
+       }
 
        if (t->tid_tab[tid - adap->tids.tid_base]) {
                t->tid_tab[tid - adap->tids.tid_base] = NULL;