diff options
author | Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> | 2019-07-03 15:09:41 -0600 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-07-03 16:23:21 -0700 |
commit | fb652f1bf8474ea91dd4e4fe7dee8b80fe03f7bf (patch) | |
tree | 63150fc612285fa16e8b81a72a56c5fd344b9810 /drivers/rmnet/shs/rmnet_shs_wq.c | |
parent | 91d8d047e30b902a668437f1ea3de6641ef7e406 (diff) | |
download | data-kernel-fb652f1bf8474ea91dd4e4fe7dee8b80fe03f7bf.tar.gz |
rmnet_shs: Fix vnd delete handling
Previously shs would mark a vnd deleted by using the ep struct
passed from rmnet. However rmnet driver frees the ep struct before
the shs vnd_del notification callback. This causes shs to incorrectly
no invalidate freed vnds.
This change adds a internal struct to check for vnd match in order for
rmnet_shs to correctly invalidate vnds.
Change-Id: I1e4e86ad0ab5abe2abd569e33fba65198badb17c
Acked-by: Raul Martinez <mraul@qti.qualcomm.com>
Signed-off-by: Conner Huff <chuff@codeaurora.org>
Diffstat (limited to 'drivers/rmnet/shs/rmnet_shs_wq.c')
-rw-r--r-- | drivers/rmnet/shs/rmnet_shs_wq.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/rmnet/shs/rmnet_shs_wq.c b/drivers/rmnet/shs/rmnet_shs_wq.c index 9265289..bc601fe 100644 --- a/drivers/rmnet/shs/rmnet_shs_wq.c +++ b/drivers/rmnet/shs/rmnet_shs_wq.c @@ -1277,8 +1277,10 @@ void rmnet_shs_wq_reset_ep_active(struct net_device *dev) if (!ep) continue; - if (ep->ep->egress_dev == dev) + if (ep->netdev == dev){ ep->is_ep_active = 0; + ep->netdev = NULL; + } } } @@ -1291,8 +1293,11 @@ void rmnet_shs_wq_set_ep_active(struct net_device *dev) if (!ep) continue; - if (ep->ep->egress_dev == dev) + if (ep->ep->egress_dev == dev){ ep->is_ep_active = 1; + ep->netdev = dev; + + } } } |