Save the filter tid while creating the server filter, which is used
later to retrieve the corresponding filter instance while handling
the filter reply.

Signed-off-by: Ganesh Goudar <ganes...@chelsio.com>
---
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c 
b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
index afb0967..aa71019 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
@@ -2338,6 +2338,10 @@ int cxgb4_create_server_filter(const struct net_device 
*dev, unsigned int stid,
        f->locked = 1;
        f->fs.rpttid = 1;
 
+       /* Save the actual tid. We need this to get the corresponding
+        * filter entry structure in filter_rpl.
+        */
+       f->tid = stid + adap->tids.ftid_base;
        ret = set_filter_wr(adap, stid);
        if (ret) {
                clear_filter(adap, f);
-- 
2.1.0

Reply via email to