Commit graph

572189 commits

Author SHA1 Message Date
Zhen Kong
432d718f4b qseecom: make change for unload TA
When unloading a TA, the operations to check ref_cnt,
scm_call to unload TA, free app list entry should be
within one critical section. Otherwise, if another
thread comes in and tries to load TA, TA status will
be out-of-sync. so move __qseecom_cleanup_app()
and __qseecom_reentrancy_check_if_no_app_blocked()
to the beginning of qseecom_unload_app(), as these
functions may release app_access mutex for a short
period.

Change-Id: I3e961f4fe1728a32314a3acf7af719374c90d01f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
2016-07-11 18:56:36 -07:00
Bryse Flowers
245913a1bb defconfig: arm64: msm: Disable qtaguid and net activity stats
Temporarily disable modules while stability issues are resolved.

Change-Id: I6bab3370caf776de25316da58ca48fcd9fbc4b5e
CRs-Fixed: 1035969
Signed-off-by: Bryse Flowers <bflowers@codeaurora.org>
2016-07-11 18:56:35 -07:00
Sudheer Papothi
4d7b1c0881 ASoC: msmcobalt: Fix slimbus tx channel configuration
Slimbus tx channel configuration is not updated properly in
msmcobalt machine driver. Fix slimbus tx channel configuration
for proper functionality of audio recording usecases.

Change-Id: I96010edabd04fef0eeb3cbb0b8f1a11d178d99b5
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
2016-07-11 18:56:35 -07:00
Satya Durga Srinivasu Prabhala
f6b5614ac0 arm64: defconfig: msm: enable MODULE_SIG for msm chipsets
MODULE_SIG is needed to check modules for valid signatures upon load.

CRs-Fixed: 1018761
Change-Id: Idc368aff7090bcb52ae598faae9f95c1ffe1d4cf
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-07-11 18:56:34 -07:00
Ram Chandrasekar
c02e00ef9d driver: thermal: Configure ARM threshold instead of low
LMH DCVSh will retain the mitigation till it clears the Low
threshold. With mitigation happening at 95C, configuring the
low threshold as 65C will hold the mitigation till it clears 65C,
which will impact the performance.

Instead of configuring the low threshold, configure the ARM threshold
from HLOS and low threshold will be configured 2C less than the
high threshold in the trust zone.

CRs-Fixed: 1024370
Change-Id: Ifb303d7266c98eb94c5eb6f806b7c5e1d95236d3
Signed-off-by: Ram Chandrasekar <rkumbako@codeaurora.org>
2016-07-11 18:56:33 -07:00
Alan Kwong
610d5d59af msm: sde: Correct rotator irq enable mismatch
This corrects rotator irq enable mismatch by moving enable/disable
sequence to resource allocation/deallocation time.  This will
eliminate race condition between regdma start and wait for done,
which causes unacknowledged rotator interrupt to continuosly trigger
MDSS main interrupt handler, ending in watchdog reset.

CRs-Fixed: 1035411
Change-Id: I597b58b478a35e9c3e3afb1a2ddd20ad87961c1a
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
2016-07-11 18:56:32 -07:00
Benjamin Chan
9f7a8de9ee msm: sde: Updating linear format definition for v4l2 rotator
Providing additonal linear format support for v4l2 rotator in mdss 3.x
hardware.

CRs-Fixed: 1032294
Change-Id: Ie8a19341831d4ffaea36898a80c71ab25f5daf3c
Signed-off-by: Benjamin Chan <bkchan@codeaurora.org>
2016-07-11 18:56:32 -07:00
Runmin Wang
8d87a45f66 ARM: dts: msm: Add dts entry mpm2-sleep-counter for MSMCOBALT
Add dts mpm2-sleep-counter node which is used by the boot_stats driver.
This dt node gives imem offset to read boot stats written by the
bootloader.

CRs-Fixed: 1037982
Change-Id: I4f8ec495ae02908d1d8cd7e86148a6d4bd38b198
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-07-11 18:56:31 -07:00
Nicholas Troast
ae42ddae88 mfd: qcom-i2c-pmic: add option to skip irq control
Some MFD PMIC configurations do not support interrupts. Make the interrupt
controller optional to support these PMIC configrations.

Without an interrupt controller this driver simply passes a regmap to
its children.

CRs-Fixed: 1037797
Change-Id: I52b909dd226494987c79ed106ffdf9892d966ef1
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-07-11 18:56:30 -07:00
Runmin Wang
4680adc5e2 ARM: dts: msm: create a separate dtsi file for msmcobalt qrd
Following the convention like MTP and CDP, create a separate dtsi file
for msmcobalt qrd platform.

CRs-Fixed: 1036660
Change-Id: I8ccbbc9ef0795397614ad0644fd1f2b5e31e3780
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
2016-07-11 18:56:30 -07:00
Archana Sathyakumar
24c67a1551 ARM: dts: msm: Update MPM interrupt mappings for cobalt
Update MPM interrupt mapping to bypass some of the interrupts as per the
HW specification.

CRs-fixed: 1032455
Change-Id: I60c60470a649eecd5bacf0b39b20dff58c910897
Signed-off-by: Archana Sathyakumar <asathyak@codeaurora.org>
2016-07-11 18:56:29 -07:00
Liam Mark
2fc88bef39 ARM: dts: msm: configure default CMA region for msmcobalt
Configure the size of the default CMA region in DT.
Configuring the default CMA region in the DT is cleaner than using
CONFIG_CMA_SIZE_MBYTES since it is easier to configure per target
and the alloc ranges can be specified in DT.

CRs-Fixed: 1024204
Change-Id: I7d999382dcb6223d84424173a1726c250520ad04
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2016-07-11 18:56:28 -07:00
Liam Mark
43c6ba1a72 ARM: dts: msm: return unused pIMEM Vault memory for msmcobalt
Not all of the pIMEM Vault memory carveout is being used in msmcobalt.
Return unused portion of the pIMEM Vault carveout memory to HLOS.

CRs-Fixed: 1024170
Change-Id: Ie0cfab09192ca6b09ec4fe171aaf544e3fb5f08f
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2016-07-11 18:56:28 -07:00
Hemant Kumar
0f1c796421 sound: usb: Add support to share iova with remote processor
ISOC data transfer for audio device is offloaded to remote
usb audio driver entity. This requires remote entity to access
device context info, event ring, transfer rings and transfer
buffers allocated by APPS XHCI device. Hence add a platform
device which maps the XHCI device physical memory to virtual
memory and shares with remote processor's iommu. All the memory
info is then sent over QMI to remote entity.

Change-Id: I1abc80652a167cefa667b914b3a80a87326c3d44
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-11 18:56:27 -07:00
Hemant Kumar
c73c7f1d9a sound: usb: Add support for usb audio qmi service
Upon usb audio device enumeration remote entity
communicates with usb audio qmi server to enable
or disable particular audio stream on usb audio
device. This off loades ISOC data transfer
operations to remote entity and allows APQ to go
to power collapse more frequently for better
power saving.

Change-Id: I2c9b0ba0837f8fec5c320e3117aa3b2f553db6b2
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-11 18:56:26 -07:00
Aravind Venkateswaran
aade9051eb ARM: dts: msm: add proxy vote for DSI supplies for msmcobalt
When continuous splash screen feature is enabled, the display needs to
be kept alive during the kernel boot up. Add proxy vote for all the
regulator supplies needed to keep the display panel alive over the DSI
interface until the display driver hand off can be executed.

CRs-Fixed: 1037857
Change-Id: I95544aaf607887ae34eace8a9b1f18a1375c5c6d
Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org>
2016-07-11 18:56:25 -07:00
Deepak Katragadda
533b2558a1 clk: msm: clock-mmss-cobalt: Add display port clock support
Add support for the DP link and crypto clocks on MSMCOBALT.

CRs-Fixed: 1028725
Change-Id: I6cdb366499f9589dff9a42491c7ff357e98d65c5
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-07-11 18:56:25 -07:00
Devesh Jhunjhunwala
477a0ded2e ARM: dts: msm: Add regulator node to flash-led for pmicobalt
The flash-led switch node must vote on the pmicobalt BoB
regulator. Hence, add this regulator node to that.

CRs-Fixed: 1024187
Change-Id: Ic4ec03e4fd545d44118c2225a3f8e26901ca1d81
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
2016-07-11 18:56:24 -07:00
Devesh Jhunjhunwala
94d2a9fd5d leds: qpnp-flash-v2: add regulator support
Add support to control regulators required for
flash-led. The pmicobalt_bob regulator is one
such regulator required by the flash-led device.

CRs-Fixed: 1024187
Change-Id: I1515fba2fb04c0b4d21828af3cea6d322262ab14
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
2016-07-11 18:56:23 -07:00
Chun Zhang
01d202d756 leds: qpnp-flash-v2: add callback for max current query
Flash LED is a high energy aggregator from system as it is capable
to provide current up to 3750mA for illumination. Therefore, it
should be used with caution especially when battery state of charge
is low. Therefore, add a function which can be used by clients like
camera to query the flash current limit before using flash LED. This
protects the system from a possible UVLO condition.

CRs-Fixed: 964855
Change-Id: I17fa4f28cc151e3a3ad89d284995a3fa770bec68
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
2016-07-11 18:56:22 -07:00
Chun Zhang
9eb8b67fe9 leds: qpnp-flash-v2: add support for strobe configuration
Flash LED module supports various kinds of strobe support. Strobe
type can be hardware or software, active high or low, and level or
edge trigger. Add support for configuring strobe type through
device tree properties.

CRs-Fixed: 1024187
Change-Id: Ief6a610c82b7f645966c596f543a1d30f7a40dcc
Signed-off-by: Chun Zhang <chunz@codeaurora.org>
Signed-off-by: Devesh Jhunjhunwala <deveshj@codeaurora.org>
2016-07-11 18:56:22 -07:00
Shiv Maliyappanahalli
8a547c50fe msmcobalt: Add delay to check ADSP state during SSR
During SSR(subsystem restart), add a delay when ADSP state
is not yet ready. This will avoid excessive logging when
ADSP state is not ready.

Change-Id: I7e127d97cdd22409d4e70788a7cf2013593d3bfe
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-07-11 18:56:21 -07:00
Shiv Maliyappanahalli
6746aed411 ASoC: qdsp6v2: Fix apr registration failure in q6core
It is possible that core service can register with APR in
different contexts and may result in apr_register returning
EALREADY error while core service gets a NULL handle.

Avoid the race condition by holding command lock to ensure
that apr_handle does not get overwritten.

Change-Id: I8863185651fde8d29b5b8d8f183544bf0f215dbe
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-07-11 18:56:20 -07:00
Shubhraprakash Das
81670a3954 media: videobuf2: Increase max buffers
Increase the maximum video buffers to 64 as with camera 64
buffers are allocated and used.

CRs-Fixed: 1039456
Change-Id: I37d91c4f7e5d98333cf6be3c75168e134ae78060
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
2016-07-11 18:56:20 -07:00
Skylar Chang
17c0378ccd msm: ipa3: fix the double ipa3_pre_init issue
With smmu enabling, ipa3_pre_init is actually
probed twice and causing the crash, the fix
is to do only once.

Change-Id: I20bd718c8cb70029c4dd46c52dbece326b90ef80
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
2016-07-11 18:56:19 -07:00
Viswanadha Raju Thotakura
7b99fa6203 ARM: dts: msm: Change camera mount angle for msmcobalt
Change rear camera mount angle to fix inverted preview
for msmcobalt MTP design.

CRs-Fixed: 1021009
Change-Id: I31a49465545e4b9a562b66bff7353d91817205f2
Signed-off-by: Viswanadha Raju Thotakura <viswanad@codeaurora.org>
2016-07-11 18:56:18 -07:00
Tatenda Chipeperekwa
78c877d3d3 msm: mdss: hdmi: parse High Dynamic Range (HDR) metadata
The HDR data block indicates the HDR capabilities of the sink:
electro-optical transfer function, static metadata descriptor,
desired content max luminance data, desired content max
frame-average luminance data, and desired content min luminance
data. This data parsed from the EDID block and provided to
clients via a sysfs node.

Change-Id: Ib78c315a43e98af4ea454998bc7ca8428522d5c0
Signed-off-by: Tatenda Chipeperekwa <tatendac@codeaurora.org>
2016-07-11 18:11:23 -07:00
Chaithanya Krishna Bacharaju
ae313d9c2d ASoC: msm: qdsp6v2: Increase PCM capture period size
Increase PCM capture period size to support recording
instances that require bigger buffers.
The maximum period size in bytes is calculated as 61440
[3840(frames) * 4 (max channels) * 4 (frame size)].

Change-Id: I130e1ad9aaa128c7b94ae70edc52b3f16439cb27
Signed-off-by: Chaithanya Krishna Bacharaju <chaithan@codeaurora.org>
2016-07-11 17:56:12 -07:00
David Collins
2bfb481ef8 ARM: dts: msm: update VDD_GFX CPR voltage adjustments for msmcobalt
Hardware characterization has shown that it is safe to operate
the MSMCOBALT GPU at a lower voltage for most frequencies.
Update the VDD_GFX CPR open-loop and closed-loop voltage
adjustments as well as the max floor to ceiling voltage ranges
according to characterization results.

Change-Id: Ifdcf7eaac0b29a2c68b7d95085f93df4fc34e751
CRs-Fixed: 1040269
Signed-off-by: David Collins <collinsd@codeaurora.org>
2016-07-11 17:43:04 -07:00
Mahesh Sivasubramanian
6030ad31ec irq-chip: gic-v3: Initialize mpm for GIC monitored interrupts
MPM initialization happens during pin control probe. If any driver where
to request a IRQ before pinctrl probe, MPM is unaware of this and the
interrupt isn't monitored for wakeup.

The MPM for GIC interrupts only, pinctrl configuration will be done when
pinctrl driver is probed as always earlier.

Change-Id: Ib40a61c9cc93e95f5dcde7293911086dcf0b3c2f
Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org>
2016-07-11 17:19:13 -06:00
Satya Durga Srinivasu Prabhala
b093be62e8 ARM: dts: msm: set rcu_expedited for msm chisets
While working on PCMark Photo Editing regression, found that
binder transactions sometimes take really long time 70+ms.
The reason for these long durations was cgroup write calling
percpu_down_write, which in turn calls synchronize_rcu.

This issue is very generic and impacts multiple real-world
use-cases involving all binder transactions.
   - All the launch applications also show it.
   - Systrace below is captured during launch of helloworld application.

Systrace clearly shows the regression:
Thread of interest: 562
Binder:528_1-562   (  528) [000] ...1    57.877862: \
                                         tracing_mark_write: B|528|Write
Binder:528_1-562   (  528) [000] ....    57.877905: \
                 __cgroup_procs_write.isra.30: percpu_down_write --> begin
Binder:528_1-562   (  528) [003] ....    57.926479: \
                 __cgroup_procs_write.isra.30: percpu_down_write --> end

To mitigate these performance issues, set rcu_expedited to use
expedited grace-period primitives.

CRs-Fixed: 1025554
Change-Id: I1a6e694591f41d6c3449e3f3d976650df93c5645
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
2016-07-11 15:26:12 -07:00
Deepak Katragadda
5f1d5b25d9 clk: msm: clock: Call the correct init sequence during fabia PLL handoff
We are currently calling the non-fabia PLL init sequence
from the fabia PLL handoff function. Correct that to use
the fabia specific init sequence instead.

CRs-Fixed: 1040254
Change-Id: If68bf5caeae35f35a534dcbe585057e78a57dbda
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
2016-07-11 14:42:49 -07:00
Shiv Maliyappanahalli
5f0a4b1fef drivers: soc: set apr handle to NULL on glink_open error
After sub system restart, opening glink channel while
lpass transport is not up results in failure and returns
error pointer. APR glink client although returns error for
the first glink command, does not set the apr handle to NULL
and incorrectly assumes err pointer as a valid handle when
opening the channel again.

Fix this by updating the apr handle to NULL when glink_open()
fails.

Change-Id: I53a219b1ebed5bc3593d500d80d580aac6431ab5
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-07-11 14:27:35 -07:00
Abdulla Anam
f55cbb3385 msm: vidc: add ion_handle checking before mapping buffers
Compare ion handles in driver instead of matching fds
to check if a buffer is already mapped or not.

Bug: 28747768

CRs-Fixed: 1026885
Change-Id: Ifd18d8689351c4a6a22c988d359fb413be19e142
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Signed-off-by: Arun Menon <avmenon@codeaurora.org>
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
2016-07-11 14:27:17 -07:00
Praveen Chavan
c108070ffa msm: vidc: update the check to ignore extradata plane in dqbuf
userptr may or may not be a null-value. Checking for this field
to qualify a plane as extradata has no merit. Ignore that check.

Bug: 28747768
CRs-Fixed: 1026885
Change-Id: I08d85ef462f09003aaa17f6ebc5d27de7083796f
Signed-off-by: Praveen Chavan <pchavan@codeaurora.org>
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
2016-07-11 14:27:02 -07:00
Shiraz Hashim
50044eb1b4 iommu/iommu-debug:: initialize variables before use
Initialize return values to their default before being
used.

Change-Id: Ie4dd908657573e5110bce65931d5507125da4c40
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-07-11 14:26:46 -07:00
Shiraz Hashim
81218366f1 iommu/io-pgtable-fast: validate data before use
Return error on data allocation failure to prevent use
after free case.

Change-Id: I9d173756e277c9006220c02c209309167f179609
Signed-off-by: Shiraz Hashim <shashim@codeaurora.org>
2016-07-11 14:26:28 -07:00
Shiv Maliyappanahalli
87b1536fb3 msmcobalt: enable audio over HDMI
Add HDMI audio back end and associated apis to
configure channel, format and sample rate to
enable audio over HDMI.

Change-Id: Ieef8a2658f9730a9268041ac93ea3958489f2eae
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-07-11 14:26:14 -07:00
Shiv Maliyappanahalli
62101aeaa9 ARM: dts: msm: enable audio over HDMI for msmcobalt
Add device tree entries to enable audio
over HDMI.

Change-Id: Ie9bb609f9681580d90e5ec35b89e587758c272d4
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
2016-07-11 14:26:01 -07:00
Maya Erez
3299b78b6f wil6210: fix chan check in wil_p2p_listen
In wil_p2p_listen chan is checked to protect against NULL
pointer access only before setting channel = chan->hw_value.
Add a global parameter check to cover all accesses to chan.

Change-Id: Ib975c99b3b87998c357251a37f4862cbbf68697d
CRs-Fixed: 1026286
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-07-11 14:25:47 -07:00
Hamad Kadmany
6af6a921f7 wil6210: add module parameter for alternate interface name
Add a module parameter alt_ifname that when set, will name
the primary network interface wigig<N> instead of the default
wlan<N>. This helps platforms such as android where we need to
clearly separate the WIGIG interface from the default wireless
interface.

Change-Id: Ie1cd3ccf777e84665075bc3b6d9fffa7d897de49
CRs-Fixed: 982931
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-07-11 14:24:42 -07:00
Nicholas Troast
3ccb922643 regmap: initialize dump count to 1
The count debugfs node is used to set the number of registers to read
starting at the given address. Initialize this to 1 so that data will
produce at least one entry if the count is not specified.

Change-Id: Ia0d2f5f0e145a735ab565a4530a17d83f832bb88
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
2016-07-11 11:43:56 -07:00
Vikash Garodia
d38e0f932b Revert "msm: vidc: Handle encoder input in true dynamic mode"
This reverts commit 1681bd4286bc ("msm: vidc: Handle encoder
input in true dynamic mode") Keep iova mappings of encoder
input buffers as we move towards a handle based mapping and
encoder input buffers once allocated are maintained through-
out the session.

CRs-Fixed: 1026885
Change-Id: Ib6df539c5e04ba4eefed59355fd13191f85492d8
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
Signed-off-by: Amit Shekhar <ashekhar@codeaurora.org>
2016-07-11 11:10:47 -07:00
Manjunathappa Prakash
9748270bcb defconfig: msmcortex: Enable CONFIG_INET_LRO
WLAN module supports LRO, so enable CONFIG_INET_LRO.
Remove it from defconfig to enable as Kconfig has default set to enable.

CRs-Fixed: 1035499
Change-Id: I0e31c6973eca1c7e9f9e0b57c0085716bfdb5ddb
Signed-off-by: Manjunathappa Prakash <prakashpm@codeaurora.org>
2016-07-11 11:10:18 -07:00
Dhanashri Atre
33f2f1ce13 net lro: extend LRO to use hardware assists
This change extends the existing LRO module to use the
hardware assits provided by certain NICs thereby reducing
the CPU utilization.

CRs-Fixed: 1035499
Change-Id: I4ed497c69042a4d15f9340f91d60c262ca79a36b
Signed-off-by: Dhanashri Atre <datre@codeaurora.org>
2016-07-11 11:10:08 -07:00
Rama Krishna Phani A
79e498a47f ARM: dts: msm: Add Temperature sensor support for msmfalcon
Temperature Sensor (TSENS) provides an interface to
clients to read the on die temperature from supported
sensors. Add Temperature sensor support for msmfalcon.

Change-Id: I7df66f91396f9c3fbb7d7d9c39d5eb0267511fc8
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2016-07-11 20:42:38 +05:30
Rama Krishna Phani A
3afd0a224e thermal: tsens: Enable TSENS for msmfalcon
Temperature sensor (TSENS) driver provides ability to
thermal clients to read from on-die temperature sensors.
msmfalcon supports reading from 14 on-die temperature
sensors and clients can set temperature thresholds and
receive notification.

Change-Id: I9421af7d1b2b83abb81af38fab5f7c6e9285a29d
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
2016-07-11 20:30:47 +05:30
Maya Erez
502fc2bbe8 wil6210: abort P2P search when stopping P2P device
The nl80211 layer expects P2P search operation to be aborted
if needed when stopping P2P device. If the P2P search operation
is still running after returning from stop_p2p_device
it causes a WARN_ON and possibly a kernel crash.
Fix this by aborting the P2P search in wil_cfg80211_stop_p2p_device
and preventing P2P search from being started on a stopped P2P
device.
Note, the fix does not cover the case where a regular scan
is started on the P2P device. It will be completed in the
future when support is added for aborting a scan operation.

Change-Id: Ief940806df63f9836cfcab23b4ec3bb667fcd2c6
CRs-Fixed: 1026249
Signed-off-by: Lior David <liord@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
2016-07-11 01:08:40 -07:00
Sunil Khatri
e6424852e3 msm: kgsl: Fix the access to invalid pool
If a free page is not found in a particular pool, we
fall back to lower order pools. While doing so make
sure we dont do that when already in zero order pool.
For zero order(pool_idx = 0) pool, (pool_idx-1) value
becomes -1 that is invalid and compiler throws the error
that array subscript is below bounds.

This problem is exposed when we enable kernel config option
"CONFIG_ALLOC_BUFFERS_IN_4K_CHUNKS" which will force only
zero order pool and hence the index value calculation to -1.

Change-Id: I81e8a1e79cd974b7a13a9d23cb3d809464b6dcda
Signed-off-by: Sunil Khatri <sunilkh@codeaurora.org>
2016-07-11 00:33:01 -07:00
Hemant Kumar
197598e593 usb: dwc3: Change dwc3 irq to oneshot threaded irq
There is a possibility of dwc3 irq being fired as soon as
it gets enabled by tasklet handler. As a result dwc3 hard irq
handler disables the irq and schedules tasklet. If tasklet is
still running, tasklet_schedule becomes no op and dwc3 irq
remains disabled permanently. Fix this issue by handling irq
in threaded context with IRQF_ONESHOT flag set. Also update
the shared irq flag in xhci platform driver for irq registration
in HCD driver.

CRs-Fixed: 1038421
Change-Id: I9291cb08c4597922131b8c2d420e834a00a72621
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
2016-07-08 18:29:32 -07:00