Change TDLS run-time enable/disable scheme

Introduce new TDLS mode NOT_ENABLED to completely disable TDLS
implicit trigger and not respond to incoming TDLS request.
Add checking the valid range of each parameter at iwpriv
setTdlsConfig.
Do not deallocate hddTdlsCtx as it cause run-time crash.
Set peer TDLS capability when SETUP/DIS response is sent to peer.
Introduce tdls_set_mode API to handle changing tdls_mode in
run-time.

Change-Id: I18a7d0030067222bd24289daa2d0fa23ef8abbc1
CRs-Fixed: 459176,459169,459177
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index af59281..fbd9c3e 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -1533,32 +1533,32 @@
 #define CFG_TDLS_IMPLICIT_TRIGGER_DEFAULT           ( 0 )
 
 #define CFG_TDLS_TX_STATS_PERIOD                    "gTDLSTxStatsPeriod"
-#define CFG_TDLS_TX_STATS_PERIOD_MIN                ( 0 )
+#define CFG_TDLS_TX_STATS_PERIOD_MIN                ( 2000 )
 #define CFG_TDLS_TX_STATS_PERIOD_MAX                ( 4294967295UL )
-#define CFG_TDLS_TX_STATS_PERIOD_DEFAULT            ( 2000 )
+#define CFG_TDLS_TX_STATS_PERIOD_DEFAULT            ( 5000 )
 
 #define CFG_TDLS_TX_PACKET_THRESHOLD                "gTDLSTxPacketThreshold"
 #define CFG_TDLS_TX_PACKET_THRESHOLD_MIN            ( 0 )
 #define CFG_TDLS_TX_PACKET_THRESHOLD_MAX            ( 4294967295UL )
-#define CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT        ( 1000 )
+#define CFG_TDLS_TX_PACKET_THRESHOLD_DEFAULT        ( 100 )
 
 #define CFG_TDLS_DISCOVERY_PERIOD                   "gTDLSDiscoveryPeriod"
-#define CFG_TDLS_DISCOVERY_PERIOD_MIN               ( 0 )
+#define CFG_TDLS_DISCOVERY_PERIOD_MIN               ( 5000 )
 #define CFG_TDLS_DISCOVERY_PERIOD_MAX               ( 4294967295UL )
-#define CFG_TDLS_DISCOVERY_PERIOD_DEFAULT           ( 60000 )
+#define CFG_TDLS_DISCOVERY_PERIOD_DEFAULT           ( 20000 )
 
 #define CFG_TDLS_MAX_DISCOVERY_ATTEMPT              "gTDLSMaxDiscoveryAttempt"
-#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN          ( 0 )
+#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MIN          ( 1 )
 #define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_MAX          ( 100 )
-#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT      ( 5 )
+#define CFG_TDLS_MAX_DISCOVERY_ATTEMPT_DEFAULT      ( 3 )
 
 #define CFG_TDLS_IDLE_TIMEOUT                       "gTDLSIdleTimeout"
-#define CFG_TDLS_IDLE_TIMEOUT_MIN                   ( 0 )
+#define CFG_TDLS_IDLE_TIMEOUT_MIN                   ( 2000 )
 #define CFG_TDLS_IDLE_TIMEOUT_MAX                   ( 40000 )
 #define CFG_TDLS_IDLE_TIMEOUT_DEFAULT               ( 5000 )
 
 #define CFG_TDLS_IDLE_PACKET_THRESHOLD              "gTDLSIdlePacketThreshold"
-#define CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN          ( 0 )
+#define CFG_TDLS_IDLE_PACKET_THRESHOLD_MIN          ( 1 )
 #define CFG_TDLS_IDLE_PACKET_THRESHOLD_MAX          ( 40000 )
 #define CFG_TDLS_IDLE_PACKET_THRESHOLD_DEFAULT      ( 5 )