drivers: shs: Clear out pending core switch timers on cleanup

In case there is a burst of data beyond a threshold, the core switch
timer will try to schedule a worker once the timer expires.
While the pending work is cleaned up on timer expiry, the pending
timers itself are not cleared up.

As part of this change, the core switch module parameter is
reset on start of cleanup to ensure no more timers are configured
during the cleanup.

Fixes the following-

399.705316:   <6> Modules linked in: rmnet_perf(O) [last unloaded: rmnet_shs]
399.734305:   <2> pstate: 20400085 (nzCv daIf +PAN -UAO)
399.739251:   <2> pc : rb_insert_color+0x10/0x168
399.743555:   <2> lr : timerqueue_add+0x88/0xc0
400.413555:   <2> Call trace:
400.416084:   <2>  rb_insert_color+0x10/0x168
400.420042:   <2>  enqueue_hrtimer+0x198/0x1c0
400.424081:   <2>  __hrtimer_run_queues+0x4e8/0x5b0
400.428568:   <2>  hrtimer_interrupt+0x108/0x350
400.432793:   <2>  arch_timer_handler_virt+0x40/0x50
400.437373:   <2>  handle_percpu_devid_irq+0x1dc/0x428
400.442122:   <2>  __handle_domain_irq+0xa0/0xf8
400.446345:   <2>  gic_handle_irq+0x154/0x1d4
400.450298:   <2>  el1_irq+0xb4/0x130

CRs-fixed: 2594249
Change-Id: I6e4a1982ce4665340cb1a75d0ec17d1db3f286fc
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
3 files changed
tree: 7979f5bad7674fea0925861255eaa894d579455b
  1. drivers/
  2. data_dlkm_vendor_board.mk