CHERRY-PICK: CHROMIUM: iwl7000: update to Core3 version

Update the iwl7000 driver to the latest release cycle. This update
fixes numerous bugs in various places (e.g. powersave), adds support
for new hardware SKUs and adds the following new features:
 * xVT support (configurable) - this is the test and production
   framework for iwlwifi
 * smart FIFO support - this feature reduces host wakeups
 * latency statistics (a mac80211 feature)
 * enable HT/VHT STBC support
 * low-priority scan support
 * multicast filtering support
 * fix scheduled scan support for older wpa_supplicant
 * and probably more small things

(iwlwifi commit 0cca5058afda4cbd7a414d642f0a511955320c6c)

Original-Change-Id: I5fa0cf72d80541e67b1eb640e77b489b221d94c7
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/184256
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 81cbd485a6e51c6896a9c10c03023f33c104d68d)

Change-Id: I58511e5223db32278442ff826827ab3151836031
Reviewed-on: https://chromium-review.googlesource.com/201510
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
CHERRY-PICK: CHROMIUM: iwl7000: sort and extend element ID list

The element ID list is currently almost sorted by amendment
or similar topic, but the order is difficult to maintain and
not very transparent. Sort the list by ID instead, and add
a lot of missing IDs.

Original-Change-Id: Ic4f6c4d832105dcbff0d0fadfc99d901b8ccffd0
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/184787
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 5e76ca62360b3b08aa6947b88df990f4458d43f7)

Change-Id: Ifa57ce5b362cb0bde6a6c49556d6ded00380fee5
Reviewed-on: https://chromium-review.googlesource.com/201511
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
CHERRY-PICK: CHROMIUM: iwl7000: order IEs in probe request correctly

In probe request frames, the VHT IEs should come before any
vendor IEs, but after interworking and similar, so add code
to order them correctly wrt. the IEs passed from userspace.

Original-Change-Id: Ic40e60a74e20f36331cf60a168fb4610d5e4ffbf
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/184788
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 0a0a369f425020ef5d6e6a4d3f80b49cbf50d550)

Change-Id: Idd76f9d60abd14e7effe3ad3914175d3105617f2
Reviewed-on: https://chromium-review.googlesource.com/201512
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
CHERRY-PICK: CHROMIUM: iwl7000: order IEs in association request correctly

In association request frames, there may be IEs passed from
userspace (such as interworking IEs) between HT and VHT, so
add code to insert those inbetween them.

Original-Change-Id: I9dac0fae8e5c7ead0c290fcacb8937f35266a419
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/184789
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit ecd7643ae1d5aaebf68af01f08025c3f1396a885)

Change-Id: Ic21dded07c4cd8f057ab02ab62e48e2f1292c380
Reviewed-on: https://chromium-review.googlesource.com/201513
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
CHERRY-PICK: CHROMIUM: iwl7000: enable LP XTAL to reduce power consumption

Enable the LP XTAL to avoid a hardware bug that leads to increased
power consumption when no firmware is loaded. The LP XTAL is disabled
by default after a device reset, but should be enabled.

Enable it after device reset to reduce power consumption.

BUG=chrome-os-partner:25592
TEST=measure device power consumption in S3

Original-Change-Id: I078a0ed7c62eb4cb526fa2e194f9d5817b01ec1e
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Alexander Bondar <alexander.bondar@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/188859
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Todd Broch <tbroch@chromium.org>
Commit-Queue: Todd Broch <tbroch@chromium.org>
(cherry picked from commit 9c5ce3cf908c10394588a072a509d110cc41403d)

Change-Id: I60fcb8b92e6961ec6e6d0e009fb531af9287d662
Reviewed-on: https://chromium-review.googlesource.com/201514
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
CHERRY-PICK: CHROMIUM: iwl7000: fix scan offload for BGN SKU

BGN SKU won't scan on 5.2GHz obviously, but the firmware
still expects the driver to reserve space for the the probe
request for the 5.2GHz band.
Fix this by allocating space and leave it empty.

This fixes https://bugzilla.kernel.org/show_bug.cgi?id=69541

BUG=chrome-os-partner:26420
TEST=test (scheduled scan) with BGN SKU

Original-Change-Id: Iddcc8b402ced165ac1f286c576cb68deed047396
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/188882
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
(cherry picked from commit cdf4100ee2aa7f0b7576cb3f165cfa4eed8310e9)

Change-Id: I4cdfe0d5d48c8c276fddf9b5a79d03cc5595d188
Reviewed-on: https://chromium-review.googlesource.com/201515
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
CHERRY-PICK: BACKPORT: cfg80211/nl80211: Introduce critical protocol callback

Backported these two patches from linux-next:

cfg80211: introduce critical protocol indication from user-space
nl80211: allow user-space to set address for P2P_DEVICE

Signed-off-by: Daniel Kim <dekim@broadcom.com>
BUG=chrome-os-partner:26324
TEST=Tested with brcmfmac driver

Original-Change-Id: I3de13594f8b2b41aff9f50e8de5b9d7997468688
Reviewed-on: https://chromium-review.googlesource.com/188351
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Daniel Kim <dekim@broadcom.com>
Tested-by: Daniel Kim <dekim@broadcom.com>
(cherry picked from commit 46e257c902fdbc332b029dee117d58b95c8ae7bb)

Change-Id: I636216095c5393cc839308e2ac5c59a301bfec5d
Reviewed-on: https://chromium-review.googlesource.com/201516
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
CHERRY-PICK: UPSTREAM: nl80211: Update nl80211_attrs to 3.10

Update the nl80211_attrs to contain values from 3.10.
This also re-aligns NL80211_ATTR_CRIT_PROT_ID and
NL80211_ATTR_MAX_CRIT_PROT_DURATION so they attain the
correct values from the upstream kernels.

Signed-off-by: Paul Stewart <pstew@chromium.org>

BUG=chromium:352260
TEST=Rebuild chromeos-kernel-next

Original-Change-Id: I6775cfaa347a54661810d0d1d95ed0332b1d2baf
Reviewed-on: https://chromium-review.googlesource.com/189844
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit c96a027e9c9dc2a6d60c57bded869ef7df428db1)

Change-Id: Ia9df84c6b0e1103707734765e857c11b49cde16c
Reviewed-on: https://chromium-review.googlesource.com/201517
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUMOS: nl80211: Accept NL80211_ATTR_DISABLE_VHT

Convert NL80211_ATTR_DISABLE_VHT flag in nl80211_attrs into
the cfg80211 ASSOC_REQ_DISABLE_VHT flag.  This is a partial
backport of upstream ee2aca343c9aa64d277a75a5df043299dc84cfd9:

  cfg80211: add ability to override VHT capabilities

Signed-off-by: Paul Stewart <pstew@chromium.org>

BUG=chromium:352260
TEST=Recompile chromeos-kernel-next, inspect packet capture
of VHT association with and without flag set (just testing
for successful connect, since nobody honors this flag yet).

Original-Change-Id: Id8a9cccdb3f907b4c7086bb0bcc0fce32a8f8968
Reviewed-on: https://chromium-review.googlesource.com/189887
Reviewed-by: Bing Zhao <bzhao@marvell.com>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 7a4270168d3b794c8523ad073f719ff494c3543d)

Change-Id: I14f48cd6665f912d23507f80806d5ae8ca8d202b
Reviewed-on: https://chromium-review.googlesource.com/201518
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: bugfixes and small updates

Update iwl7000 to include bugfixes for various scenarios:
 * some APs don't like a long listen interval, reduce it
 * fix association to 20/40 MHz VHT networks
 * fix spurious station removal messages
 * fix scheduled scan restart during suspend/resume
 * fix some error paths (memory leaks or other missing cleanups)
 * make connection more stable by not disconnecting immediately
   on beacon loss

(iwlwifi commit 82aa548c936792d70260e056aaae2fa067baa0ba)

BUG=chrome-os-partner:26941
TEST=connect to 80 MHz AP with 40 MHz only CRDA database

Original-Change-Id: I3bffec18414843ede24f1607ec90d7de76cb4ad3
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/189213
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 405cc909c86785f71d23483b7f18eccc8c66c81a)

Change-Id: Ia9ec65a18f71c4d1ea61e9bc73f96ec68538fe4c
Reviewed-on: https://chromium-review.googlesource.com/201519
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: delay enabling smart FIFO until after beacon RX

If we have no beacon data before association, delay smart FIFO
enablement until after we have this data.

Not doing so can cause association failures in extremely silent
environments (usually only a shielded box/room) as beacon RX is
not sent to the host immediately, and then the association time
event ends without the host receiving any beacon even though it
was on the air - it's just stuck on the FIFO.

(iwlwifi commit 5b60eb1ccb9316884873a6b9360283dbcd554df8)

BUG=chrome-os-partner:25861
TEST=connection/roaming tests in shielded box

Original-Change-Id: Ie72f8d2f33d6f559246b91d6edb220bc8cdae0a0
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/191061
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 6120f4defdab279b3018de5e46004d7178017a2d)

Change-Id: I51e10537f5ca296daa47c32b0b960f1540ce59a0
Reviewed-on: https://chromium-review.googlesource.com/201520
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: mac80211: fix suspend vs. authentication race

Since Stanislaw's patch removing the quiescing code, mac80211 had
a race regarding suspend vs. authentication: as cfg80211 doesn't
track authentication attempts, it can't abort them. Therefore the
attempts may be kept running while suspending, which can lead to
all kinds of issues, in at least some cases causing an error in
iwlmvm firmware.

Fix this by aborting the authentication attempt when suspending.

(iwlwifi commit a7c16e04bd3f21d7ced589f8faf1d9a78f3f8d2b)

BUG=chrome-os-partner:26697
TEST=didn't reproduce the SYSASSERT but a WARNING in this scenario,
the warning goes away with this patch and so should the SYSASSERT
(hitting the SYSASSERT is only due to races if we're past the WARN
point in the code)

Original-Change-Id: I5ec82436edb612b3457ac92efe636bc6e0eaf7a7
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/191062
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit d844e1885b4de3a2a378fd4b9f5ae2db7f0cc651)

Change-Id: I9760f80452f986a73d25f0abbc0b20838ef439ef
Reviewed-on: https://chromium-review.googlesource.com/201521
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: enable VHT-disable request

Paul previously backported the VHT-disable request code to the
3.8-based wireless stack, so we no longer need to override it
and can support it instead - remove the #define to achieve that.

Original-Change-Id: I35d1e333ced5a43807615420565ef4e565128ab6
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/191394
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit aa93462943b7ea1aeefe1b7f1552e619f3adadc9)

Change-Id: Ib0a74ba34be885519b30b002e31467c98703ce57
Reviewed-on: https://chromium-review.googlesource.com/201522
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: update rate scaling algorithm

Update the rate scaling algorithm:
 * fix the MIMO delimiter to scale down to SISO more quickly if the
   peer changes settings
 * select correct maximum throughput columns to avoid switching and
   searching too much
 * fix lower rates not always being explored correctly
 * reset statistics when aggregation changes to avoid making decisions
   based on data collected in the other aggregation state
 * fix search cycle rules to be more resilient to changing conditions
 * fall back to legacy rates to avoid traffic stalls when far from AP
 * avoid searching unnecessary columns/rates
 * reset after long idle times to avoid using high rates for too long

BUG=chrome-os-partner:27739
BUG=chrome-os-partner:27740
TEST=throughput tests with high attenuation

Original-Change-Id: I526924a297b61801726cc4e2eeb498447b17abf2
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/193386
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
(cherry picked from commit c47085cb5a6d2092b61ed015d12d4cf13c6c555f)

Change-Id: Ie9f8e9d76d33d401f5d222a8a69b8b94b705cae6
Reviewed-on: https://chromium-review.googlesource.com/201523
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: update to Core4 release

Update the iwl7000 driver to the latest release cycle.

This update is large only because it brings in a good chunk of new
debug/trace code which isn't really needed but may help support the
driver.

Other than that, there are various small improvements here. The bug
below is mostly fixed by the corresponding firmware update.

BUG=chrome-os-partner:26923
TEST=AVL acceptance test

(iwlwifi commit 61124bb52421b1fe89e8c918c3bdfc1bfd12ff9b)

Original-Change-Id: Ibd73f827373f47cbedee3f560f72eae23b1765f1
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/192720
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 58acae158ba588764bdac6d94252a14f3de65a78)

Change-Id: I8b39a0331748e4f8ca27ebec3a96d6cc5fe5031c
Reviewed-on: https://chromium-review.googlesource.com/201524
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: UPSTREAM: cfg80211: remove NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL

There's no driver using this flag and consequently no userspace
application is actually looking at it. As it seems unlikely for
any driver to start using it, remove it and the (very little)
code that used it.

Backported from upstream commit e7aceef4ac3180bd93d4c0d3fe2377.

Original-Change-Id: I040a52ed9ef20847f78d951df1b711193bc4737d
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/194274
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 0b40221892ebff43cdb10c212087c0f49fc56084)

Change-Id: Ib1c3b2ebd4755dd5e34eaff3b79dfd5c6fcccb62
Reviewed-on: https://chromium-review.googlesource.com/201525
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: nl80211: update nl80211.h to recent upstream

To avoid issues with potentially renumbering attributes and
commands when backporting patches, just copy in the entire
nl80211 header file.

The only change is the plink_actions enum, I renamed it to
nl80211_plink_actions to avoid compile issues. To avoid
problems with iwl7000 compilation, remove some things there.

This actually fixes Daniel's critical protocol indication
backport as that added those commands with the wrong numbers.

Original-Change-Id: Ide2ced679d82b15c861f9bca2230ced4f72cf540
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/194275
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 0301556d26219168eff7cd7135f17ccbed9c82b7)

Change-Id: I4f04274ecad3779ac37208442296ef90477db64d
Reviewed-on: https://chromium-review.googlesource.com/201526
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: enable xVT code by default

This code is needed for production line and other testing, and it's
just a small (~335KiB) module that doesn't get loaded by default, so
enable it by default in the compilation.

BUG=N/A
TEST=compile default configuration and see iwlxvt.ko is present

Original-Change-Id: Idcba62bc54429e107441a2c44b1476521bc851a9
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/197510
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 079da8e008f95682ffef15a5ae6d8ac14cc641fd)

Change-Id: I0f872249733eb0d5bec62829292283cbf581df3c
Reviewed-on: https://chromium-review.googlesource.com/201527
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: add uapsd_disable module parameter

Some APs (e.g. TP-LINK TL-WA801N) are disabling aggregation (downlink
to station) when U-APSD is enabled, resulting in low throughput.
Add a module parameter to allow disabling U-APSD support in the driver.

BUG=chrome-os-partner:27440
TEST=run throughput test again affected AP with and without uAPSD

Original-Change-Id: I35591b33a0b44de9724ee9e091228443344b7785
Signed-off-by: Matt Chen <matt.chen@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/197016
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 6c6016e2c6b38832eced031e12fd8c6e3beae379)

Change-Id: Ib96d5cbb19e41f77ddc0607a1651deb095682389
Reviewed-on: https://chromium-review.googlesource.com/201528
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>
CHERRY-PICK: CHROMIUM: iwl7000: do not sched scan while associated

Currently the FW doesn't support sched scan while associated,
so prevent it.

BUG=chrome-os-partner:28055
TEST=run various scenarios that previously resulted in sysassert
due to scheduled scan

Original-Change-Id: I9d223316164fceb8cc1cae9e1e014599f7ab4c9b
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/196978
Reviewed-by: Paul Stewart <pstew@chromium.org>
(cherry picked from commit 020e7858de3417acb9497ca69275c098786c6854)

Change-Id: Ibe10b123df91842b58005f903074fe28914965b9
Reviewed-on: https://chromium-review.googlesource.com/201529
Tested-by: Wei Shun Chang <wei.shun.chang@intel.com>
Reviewed-by: Jay Kim <yongjaek@chromium.org>
Commit-Queue: Wei Shun Chang <wei.shun.chang@intel.com>