summaryrefslogtreecommitdiff
path: root/drivers/rmnet/shs/rmnet_shs_wq.c
diff options
context:
space:
mode:
authorSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>2018-09-24 18:00:24 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-10-04 11:07:17 -0700
commit69fbfed1a92bbcc050a41d233aa2b1824ee8695f (patch)
treed019dc2025e18d536e8ba533d32ab7a924a80bf2 /drivers/rmnet/shs/rmnet_shs_wq.c
parent750001bed1e2848247f9aab14e254b5199583037 (diff)
downloaddata-kernel-69fbfed1a92bbcc050a41d233aa2b1824ee8695f.tar.gz
rmnet_shs: power save indication and ssr fix
Get notified of rmnet driver status in order to cleanup when rmnet goes into idle mode. SSR fix to reinit module after SSR. Perf burst selection fix. Fix perf cpu selection during a rx burst always returning 0. CRs-Fixed: 2316002 Change-Id: I199c49a36a328da7457fdb24c0302815e1a2edf9 Acked-by: Raul Martinez <mraul@qti.qualcomm.com> Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Diffstat (limited to 'drivers/rmnet/shs/rmnet_shs_wq.c')
-rw-r--r--drivers/rmnet/shs/rmnet_shs_wq.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/drivers/rmnet/shs/rmnet_shs_wq.c b/drivers/rmnet/shs/rmnet_shs_wq.c
index 547e9de..d4d9d2f 100644
--- a/drivers/rmnet/shs/rmnet_shs_wq.c
+++ b/drivers/rmnet/shs/rmnet_shs_wq.c
@@ -1091,8 +1091,10 @@ int rmnet_shs_wq_get_perf_cpu_new_flow(struct net_device *dev)
if (!ep->is_ep_active)
continue;
- if (ep->ep->egress_dev == dev)
+ if (ep->ep->egress_dev == dev) {
is_match_found = 1;
+ break;
+ }
}
if (!is_match_found) {
@@ -1354,6 +1356,18 @@ void rmnet_shs_wq_init_cpu_rx_flow_tbl(void)
}
+void rmnet_shs_wq_pause(void)
+{
+ if (rmnet_shs_wq && rmnet_shs_delayed_wq)
+ cancel_delayed_work_sync(&rmnet_shs_delayed_wq->wq);
+}
+
+void rmnet_shs_wq_restart(void)
+{
+ if (rmnet_shs_wq && rmnet_shs_delayed_wq)
+ queue_delayed_work(rmnet_shs_wq, &rmnet_shs_delayed_wq->wq, 0);
+}
+
void rmnet_shs_wq_init(struct net_device *dev)
{
/*If the workqueue is already initialized we should not be