summaryrefslogtreecommitdiff
path: root/drivers/rmnet/shs/rmnet_shs_wq.c
diff options
context:
space:
mode:
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