TDLS: Fixed mem_free problem at driver unload.

The peer list is doubly linked list. The code to free the peers at exit is
not correct and will result in double free error if there are more than 1 peer.
Use linked list APIs to take care of mem_free.

CRs-fixed: 445416
Change-Id: Ib3a5b659743898796cbc3edd21a0d1aa9682a63c
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 77790c7..c028274 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -4013,7 +4013,11 @@
    wlan_hdd_restart_init(pHddCtx);
 
 #ifdef FEATURE_WLAN_TDLS
-   wlan_hdd_tdls_init(pAdapter->dev);
+   if(0 != wlan_hdd_tdls_init(pAdapter->dev))
+   {
+       hddLog(VOS_TRACE_LEVEL_FATAL,"%s: wlan_hdd_tdls_init failed",__func__);
+       goto err_nl_srv;
+   }
 #endif
   
    goto success;