OSDN Git Service

cxgb4: fix delete filter entry fail in unload path
authorShahjada Abul Husain <shahjada@chelsio.com>
Fri, 13 Mar 2020 09:02:57 +0000 (14:32 +0530)
committerDavid S. Miller <davem@davemloft.net>
Sun, 15 Mar 2020 07:12:33 +0000 (00:12 -0700)
Currently, the hardware TID index is assumed to start from index 0.
However, with the following changeset,

commit c21939998802 ("cxgb4: add support for high priority filters")

hardware TID index can start after the high priority region, which
has introduced a regression resulting in remove filters entry
failure for cxgb4 unload path. This patch fix that.

Fixes: c21939998802 ("cxgb4: add support for high priority filters")
Signed-off-by: Shahjada Abul Husain <shahjada@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c

index 2a2938b..fc05248 100644 (file)
@@ -902,7 +902,7 @@ void clear_all_filters(struct adapter *adapter)
                                adapter->tids.tid_tab[i];
 
                        if (f && (f->valid || f->pending))
-                               cxgb4_del_filter(dev, i, &f->fs);
+                               cxgb4_del_filter(dev, f->tid, &f->fs);
                }
 
                sb = t4_read_reg(adapter, LE_DB_SRVR_START_INDEX_A);
@@ -910,7 +910,7 @@ void clear_all_filters(struct adapter *adapter)
                        f = (struct filter_entry *)adapter->tids.tid_tab[i];
 
                        if (f && (f->valid || f->pending))
-                               cxgb4_del_filter(dev, i, &f->fs);
+                               cxgb4_del_filter(dev, f->tid, &f->fs);
                }
        }
 }