wlan: Address TDLS synchronization issues on p2p interface

TDLS timers created during p2p connection should be destroyed
as a part of p2p disconnect before p2p adapter's device mode
is changed to P2P_DEVICE from P2P_CLIENT as TDLS is supported
only in P2P_CLIENT and INFRA_STATION modes.

Due to the race between MCThread and Suplicant thread, On P2P
disconnection, cfg80211_change_iface function getting invoked
and changes the adapter mode to P2P_DEVICE before the tdls timers
are destroyed as a part of hdd_DisconnectionHandler in MCThread
context leading to timer leaks. As a result, timer functions
getting invoked after driver unload leading to kernel panic.

To mitigate this issue, destroy tdls timers also  when change_iface
is called on p2p interface.

Change-Id: I54da52b95215538ce01176403d0b1f718b5520be
CRs-Fixed: 887265
1 file changed
tree: 25c1bd0dfaace5334ae21f50a6d9e40790be5296
  1. CORE/
  2. firmware_bin/
  3. riva/
  4. Android.mk
  5. Kbuild
  6. Kconfig
  7. Makefile