Patch "cxgb4: Avoid removal of uninserted tid" has been added to the 5.15-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    cxgb4: Avoid removal of uninserted tid

to the 5.15-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     cxgb4-avoid-removal-of-uninserted-tid.patch
and it can be found in the queue-5.15 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit b74da888cfba949445406fe42b3c27f63ed3087e
Author: Anumula Murali Mohan Reddy <anumula@xxxxxxxxxxx>
Date:   Fri Jan 3 14:53:27 2025 +0530

    cxgb4: Avoid removal of uninserted tid
    
    [ 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@xxxxxxxxxxx>
    Signed-off-by: Potnuri Bharat Teja <bharat@xxxxxxxxxxx>
    Link: https://patch.msgid.link/20250103092327.1011925-1-anumula@xxxxxxxxxxx
    Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index 21afaa81697e..47529c77654c 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -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;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux