wlan:On processing beacons start MAX chan timer only once per channel.

For active scan, if beacon is received and processed before MIN chan
timer expired, MIN chan timer is stopped and MAX chan timer is
started. So if there are too many beacons pending to be processed in
peMcMq, the MAX chan timer might expire before all beacons are
processed, and the timer expire msg is queued in peMcMq. In this case
the next beacon processed will again start the MAX chan timer, as
its not running and this might end up having many MAX chan timer
expired msg queued in peMcMq.

Once the first timer expiry msg is processed END SCAN is send and
END SCAN RSP is again queued to peMcMq, but is not processed
until all timer expired msg are processed.
This leads to delay in scan and may take more than 30 sec, which
leads to active command timeout and crash.

To avoid many MAX chan timer expire msg in peMcMq, it is started
once only if MIN chan timer is running.

CRs-Fixed: 901548
Change-Id: I6cd3c5343e6bdc56e366a1378c191dcf6ef86fee
1 file changed
tree: f556dfae7946c9dc2471d05314e7430c538a8b86
  1. CORE/
  2. firmware_bin/
  3. riva/
  4. Android.mk
  5. Kbuild
  6. Kconfig
  7. Makefile