net: bcmdhd: update driver

This is a squash of updates to the bcmdhd driver. If testing goes ok,
the commits can be merged from

https://github.com/mdmower/android_kernel_htc_msm8960/commits/cm-11.0-bcmdhd

CM merged to kernel_htc_msm8960 only last patch in this squashed commit: http://review.cyanogenmod.org/#/c/69806/


----

net: wireless: bcmdhd: new feature for Roaming.

	1) The functionality help to prevent the device from doing roam
	scan forever in the environment which has just one AP nearbyt,
	but the RSSI of the AP is -75dbm ~ 78dbm
	2) The feature will set the roam trigger from -75dbm to -85dbm
	in case that there are only one AP.
	3) The value will be reset to -75dbm after disconnecting from
	current AP.
	4) This patch will Fixed Google issue: [10718651]
	   WiFi draining battery life even while phone connected to charge
	5) Enable flow control in DHD driver to fix
	   10430352 UDP speed is less than 40% of TCP speed with LInksys
	   WRT110
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: Fixed Coverity issue.

Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: fix for negative padding

Signed-off-by: Iliyan Malchev <malchev@google.com>

net: wireless: bcmdhd: Fixed Wi-Fi Location Service issues.

	1. 10954142 [BATCHED-SCAN]Wifi Batching stopped after long time
	2. 10412309 [BATCHED-SCAN] Batched scans aren't as frequent as
	expected.
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: add code for WLS service.

	add protection code to fix the issue#11051053
	( [Issue 11051053] [BATCHED-SCAN] Batched scan results
	become 	unavailable after disabling/re-enabling wifi scan)
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: Fix country checking

Bug: 11319610

Change-Id: I5c52ed594614d8039f167de3c98bd9f802b521df
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

net: wireless: bcmdhd: fixed power consumption issue of P2P.

	solution : add wake_lock not to go to suspend during removing P2P GO
	interface in wl_cfg80211.c.
	Description of this issue :
	if device goes to suspend during removing the interface,
	we will fail to remove P2P GO virtual
	interface(p2p-p2p0-0).
	This will causes P2P GO still alive in firmware
	Bugnizer case id : 10874302
	This issue is reported by LG team.
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: Fixed a problem of buganizer issue (11190960)

	Problem : if PNO scan occurs in Driver after p2p scan,
		  we failed to do PNO scan
	Root cause : In the wl_run_escan function, we still goes into
	p2p scan code even though current scan is PNO which is kind of
	legacy scan.

	Solution : we need to clear the staus of P2P scan before doing
	PNO SCAN.

Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: reduced the wakelock time of RX packet

	Reduce time : 1secs -> 500ms
	Problem : [Issue 11512235] 34% battery eaten overnight
		  [Issue 11374623] OS + Wifi used 41% of battery,
		  wlan_rx_wake
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: cancel current PNO if connection will happen

	Issue : Manta: Lack of WLS causes PNO problem
	Problem : we found that race condition happens
		between connection and PNO sometimes.
		Connection is failed due to this race condition.
	Solution: we need to cancel PNO explicitly if the connection
	request start in DHD driver.
	Bug : 11174374
Signed-off-by: Ecco Park <eccopark@broadcom.com>

Change-Id: I7bf81d127901a74e9f47d6cc4ee7b265c6936dc3

net: wireless: bcmdhd: Change DTIM skip policy in suspend

	issue : WiFi continuously disconnects
	Root cause :
	Sometimes we got link down event due to beacon
	lost when device goes to suspend.
	This problem sometimes happens in case that DTIM is 3 and beacon
	100ms because we wake up on 900ms (100ms * 3 * 3) during
	suspend.
	This value(900ms) is too big to STA for sync up with AP time.
	This causes STA out of sync for time with the AP.
	Eventually STA got lost of beacon during long time (4secs).

	Solution :
	If the total dtim skip interval (beacon_interval *
	DTIM * 3) is greater than 300ms, we will not extend DTIM to DTIM
	* 3.
	Instead of that, we will use original value (DTIM) for wake up
	in suspend.
	Bug : 1343127 WiFi continuously disconnects

Signed-off-by: Ecco Park <eccopark@broadcom.com>

Change-Id: I6d89bd1c56127befe4d9606869396ee25b7911ef

net: wireless: bcmdhd: Set MAX_DTIM_ALLOWED_INTERVAL to 600

Change-Id: Ie4d9cac1e0828651a142d64762b251537431ea99
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

net: wireless: bcmdhd: Enable IPv6 RA filter feature

1) We will block IPv6 Router Advertisement multicast packet in suspend mode to save power on device.

Bug: 11638281
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: enable TDLS_auto_mode

	Requirement :
	1. enable auto mode for SETUP request
	2. disable auto mode for TEARDOWN request
	bug : 11632025 TDLS hybrid mode support

Change-Id: Idc0cb60e65a45bb32b8beb2bb3daf72c9112eab6
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: Sync with N5 branch

Change-Id: I8152c52ae7da4932ff4b588d456548498bd4bab7
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

net: wireless: bcmdhd: Change the parameter for TDLS

	1) tuned the parameter for TDLS connection to transit between AP
	and TDLS smoothly.
	2) tdls_rssi_high : -70 dbm -> -60 dbm (for setup)
	   tdls_rssi_low : -80 dbm -> -70dbm (for teardown)
	bug : 11632025
Signed-off-by: Ecco Park <eccopark@broadcom.com>

net: wireless: bcmdhd: support Hotspot 2.0 release 1.0

Change-Id: I0d893b85741da628cb5c49c0a1b70c9d2d1ffac9
Signed-off-by: Ecco Park <eccopark@broadcom.com>
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

net: wireless: bcmdhd: ifdef wl_cfg80211_sched_scan_stop declaration

wl_cfg80211_sched_scan_stop() was introduced in
4e98e4ad9f77dffa3e6d977453f92259d0370e3d "net: wireless: bcmdhd: cancel
current PNO if connection will happen" but its declaration was not
ifdef'd like its usage is. Picky compilers are picky.

Change-Id: Ibd97b98c99e2b0bb2bf933b7ba858181f346e1de

net: wireless: bcmdhd: Add WIPHY_WOWLAN_ANY support

Change-Id: Ia6afe2ebcd0c68622c7f7a1fb36efa62dc009abf
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>

net: wireless: bcmdhd: Add support for hidden ssid PNO scan

Changes to support hidden ssid config to be sent to FW. Earlier
all ssids were hard coded as hidden, now only those indicated
as such by supplicant will be.

Change-Id: I927030fe12f162c52c93277b2ebfb4bf55daef4a
Signed-off-by: Ashwin <ashwin.bhat@broadcom.com>