From 69fbfed1a92bbcc050a41d233aa2b1824ee8695f Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Mon, 24 Sep 2018 18:00:24 -0700 Subject: 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 Signed-off-by: Subash Abhinov Kasiviswanathan --- drivers/rmnet/shs/rmnet_shs_wq.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'drivers/rmnet/shs/rmnet_shs_wq.c') 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 -- cgit v1.2.3