msm: wfd: Make wfd-util thread-safe

update_stats() in wfd-utils gets called from various thread contexts.
Make this thread-safe to avoid list corruptions.

CRs-Fixed: 441415
Change-Id: I71c1da78b1f4e11b4f25852063a578e43ff18fb6
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
Merge "msm: kgsl: Don't silently ignore events that have a retired timestamp"
msm: 8930: Update revision check for SD card regulator configuration

All 8930 platform boards using the 1.2 SoC have been reworked so that
the sd card detect line's esd circuit is no longer powered by the sd
card's voltage regulator. The soc-info check was incorrect thus missing
out on 2.0 version.

Update the check to properly include all the correct versions of SoC.

Change-Id: I665933d3099b8576ef3085dd0989aaa5a2b9af97
Signed-off-by: Pratibhasagar V <pratibha@codeaurora.org>
Perf: Toggle PMU IRQ when CPU's are hotplugged

When a CPU is hotplugged out while a perf session
is active, disarm the IRQ when the CPU is preparing
to die. This ensures that perf doesn't lock up when
it tries to free the irq of a hotplugged CPU.
Similarly, when a CPU comes online during a perf session
enable the IRQ so that perf doesn't try to disable
an unarmed IRQ when it finishes.

Change-Id: Ic4e412e5f1effae0db34a3e4b5e7e5c65faed2a0
Signed-off-by: Ashwin Chaugule <ashwinc@codeaurora.org>
Perf: Correct irq for CPU hotplug detection

The platform data was requesting the wrong number,
it should request the first perf irq item.

Change-Id: I4a25b4704ed9e76172c6b0d4ca4b28a3286ab2ad
Signed-off-by: Neil Leeder <nleeder@codeaurora.org>
Merge "Revert "mm: cma: on movable allocations try MIGRATE_CMA first""
Conflicts:
	mm/page_alloc.c
Merge "cma: redirect page allocation to CMA"
msm_fb: display: Program source address registers correctly

Scale filter FIR uses the adjacent pixels as part of the
processing. Source address registers should be program such that
they point to the first valid pixel so that non-ROI pixels are
ignored. This is done by making source x,y offsets to zero and
adding the computed offset to source address.

CRs-Fixed: 380020
Change-Id: I998fdd46f39dc67f32c422ec209da59d1add2e95
Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>

Conflicts:

	drivers/video/msm/mdp4_overlay.c

Signed-off-by: Mayank Chopra <makchopra@codeaurora.org>

Conflicts:
	drivers/video/msm/mdp4_overlay.c
android/lowmemorykiller: Ignore tasks with freed mm

A killed task can stay in the task list long after its
memory has been returned to the system, therefore
ignore any tasks whose mm struct has been freed.

Change-Id: I76394b203b4ab2312437c839976f0ecb7b6dde4e
CRs-fixed: 450383
Signed-off-by: Liam Mark <lmark@codeaurora.org>
sync: Fix race condition between merge and signal

The copied sync_pt was activated immediately. If the sync_pt was
signaled before the entire merge was completed, the new fence's pt_list
could be iterated over while it is still in the process of being
created.

Moving the the sync_pt_activate call for all new sync_pts to after both
the sync_fence_copy_pts and the sync_fence_merge_pts calls ensure that
the pt_list is complete and immutable before it can be reached from the
timeline's active list.

Change-Id: I7aa4d404a822347b6ce148018d2a66e4f6a20c78
Signed-off-by: Erik Gilling <konkers@android.com>
Signed-off-by: Naseer Ahmed <naseer@codeaurora.org>
Signed-off-by: Uma Maheshwari Bhiram <ubhira@codeaurora.org>

Conflicts:
	drivers/base/sync.c
msm: mdp: Move wfd state signalling into mdp driver

Previously the WFD driver was reponsible for signalling the
online/offline events to userspace listeners.  This led to redundant
notifications due to the manner in which the WFD driver is used. The
signalling is better purposed when done from MDP driver.

Change-Id: Ifffbacb565f8758b65139f7b0e32df0773247e2d
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>

Conflicts:
	drivers/media/video/msm_wfd/mdp-4-subdev.c
cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station

The information of the peer's capabilities is required for the driver
to perform TDLS Peer UAPSD operations. This information of the peer is
passed by the supplicant using NL80211_CMD_SET_STATION command. This
commit enhances the function nl80211_set_station to pass this
information of the peer to the driver in case this command is used
with the TDLS peer STA.

In addition, make the HT/VHT capability configuration handled more
consistently for other STA cases (reject both instead of just HT).

Change-Id: I08635df14f49711b04dfdad0daf8f874a340b5b7
CRs-fixed: 452921

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
msm: vidc: Fix klocwork error

This change fixes the klocwork errors

Change-Id: I73a6ed0e568e98a51c8e095b824a783f91ce6657
Signed-off-by: Deepak Verma <dverma@codeaurora.org>
net: rmnet_usb: Fix assignment order of instances

Commit f0b04dee "net: rmnet_usb: Support multiple instances" changed
the storage of the pre-allocated control device structures by adding
them to a list. The problem with that approach is that across
disconnect/re-probe, each instance may not be re-associated with the
interface as used previously. This coupling must be ensured to allow
users of the control device files to continue to access the same
interfaces across subsystem restarts.

Fix this by creating the instances in a dynamically-allocated array.
Since we assume probe order is in increasing interface number per
USB device, use this to assign the same instance when the
device/interface is re-probed.

CRs-fixed: 453167
Change-Id: Ide20abdd7acf0194dfb9bbdd9d039a8888b23d93
Signed-off-by: Jack Pham <jackp@codeaurora.org>
msm: kgsl: Fix pagefault logging of one per 4k

Fixed incorrect logic to check if the next pagefault
is in the 4k address range of previous pagefaults.

Change-Id: I76c2e13f3b1cb287af0ef9c8af2f4452df23ec54
Signed-off-by: Tarun Karra <tkarra@codeaurora.org>
Signed-off-by: Rajeev Kulkarni <krajeev@codeaurora.org>
Merge "msm: kgsl: Fix hang detection to be 50ms or more"
Conflicts:
	drivers/gpu/msm/adreno.c
msm: audio: qdsp6v2: Add NULL checking for input parameters

Add checking for NULL. Two parameters shouldn't be NULL.

Change-Id: Ied9e9e6238f6498305844bf3a08370c7cf751fc7
Signed-off-by: Fred Oh <fred@codeaurora.org>
cfg80211: fix station change if TDLS isn't supported

Larry noticed (and bisected) that commit df881293c6ba9a12868491a717b25
"cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station"
broke secure connections. This is is the case only for drivers that
don't support TDLS, where any kind of change, even just the change of
authorized flag that is required for normal operation, was rejected
now. To fix this, remove the checks. I have some patches that will add
proper verification for all the different cases later.

Change-Id: Ieaf0f8a8ab922d42bccdb4957c55b8c3d9463a3f
CRs-fixed: 452921

Cc: Jouni Malinen <j@w1.fi>
Bisected-by: Larry Finger <Larry.Finger@lwfinger.net>
Tested-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Fix not able to disconnect from the Host after SMP requests

The following fixes were added:
1. While using whitelist API for connection, if SMP requests are received
before the L2CAP channel is correctly setup, queue the SMP requets
and execute them once the channel state is bounded and connected and
therefore maintaining the correct connection reference count.
2. If the status LE start encryption command is not successful,
then call hci_conn put which would decrement the HCI connection
reference count.

CRs-fixed: 447092
Change-Id: Ibb11ecf94f28e0b0aff5eacc86d1660e7ec2e25d
Signed-off-by: Archana Ramachandran <archanar@codeaurora.org>
power: pm8921-charger: fix a potential array out of bound access

There is a potential out of bound array access to find the
max adjustment value for battery current. Fix it.

Change-Id: I73856b7cdc85204e501b33b3412490148867576e
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>