Inside glink_scheduler_tx tx_info is not validated after tx operation
and taking spin lock, since there are two functions which can release
the reference for tx_info while glink_scheduler_tx thread is preempted.
These functions are ch_purge_intent_lists and
ch_remove_tx_pending_remote_done.
Validate tx_info from tx_active list after tx operation and taking
spin lock.
CRs-Fixed: 1061565
Change-Id: I80c64d66625b9fe9205e8ffaa7cfc851e06fcb94
Signed-off-by: Dhoat Harpal <hdhoat@codeaurora.org>
Client driver may disconnect pipe while some data is still
pending on the pipe and might not need IRQ for that data. Current
implementation might result in crash in case disconnect and IRQ happens
on same pipe in parallel. Implement lock to avoid pipe disconnect
while IRQ is in progress for that pipe and viceversa.
Change-Id: Icf43c0a18cfc1644270b684a792632a6c81f1797
Signed-off-by: Rama Krishna Phani A <rphani@codeaurora.org>
Add device tree info for Secure Processor Subsystem Utilities driver.
Change-Id: I2657705131fcbbcc63a723b3badb3f43135b4408
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
commit 70a7fb80e85a ("regulator: core: Fix nested locking of supplies")
Commit fa731ac7ea04 ("regulator: core: avoid unused variable warning")
introduced a subtle change in how supplies are locked. Where previously
code was always locking the regulator of the current iteration, the new
implementation only locks the regulator if it has a supply. For any
given power tree that means that the root will never get locked.
On the other hand the regulator_unlock_supply() will still release all
the locks, which in turn causes the lock debugging code to warn about a
mutex being unlocked which wasn't locked.
Cc: Mark Brown <broonie@kernel.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Fixes: fa731ac7ea04 ("regulator: core: avoid unused variable warning")
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Git-commit: 70a7fb80e85ae7f78f8e90cec3fbd862ea6a4d4b
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
[ashayj@codeaurora.org: Fix the regulator bug which was re-introduced by
commit f145f4]
CRs-Fixed: 1065539
Change-Id: I376a6412bb65a1e193647eab54ad993df4c2c24f
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
WCD934X audio codec supports idle detection over headphone
path to reduce power consumption when the audio signal
level is low. Add support to enable headphone idle detection
in the wcd934x codec driver.
CRs-fixed: 1066588
Change-Id: I8d67fa4055898db31b47f87b6659484aeb08f58f
Signed-off-by: Phani Kumar Uppalapati <phaniu@codeaurora.org>
The current api which performs the clock reset is moved to use the reset
framework, so support the changes in ufs driver for the same. The reset
framework requires to get reset handle and perform assert/deassert of the
resets.
Change-Id: I78d833639772cf541e563cbf9fae1aa75ec6a7da
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
The spss-util driver provides utilities required for the SPSS.
It provides the fuse state for key selection.
It provides the SPSS HW version.
Change-Id: I70c37d64db351db86e3d1d5dddb810257c68d72f
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
The function regulator_set_optimum_mode() has been renamed to
regulator_set_load(). So update the driver accordingly.
Change-Id: I7d69a4529368918f159a25769f497e6425838460
Signed-off-by: Abinaya P <abinayap@codeaurora.org>
Correct return value check of gtp_read_fw_version, called in probe
of the Goodix driver. The return value is actually the number of
registers read through gtp_i2c_read() function call.
Also change the error message of gtp_check_product_id.
Change-Id: I0b643e250a487f08a19555237802b020b0873d1a
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Use standard initializer code in gtp_i2c_read and
gtp_i2c_write functions for Goodix touchscreen driver.
Change-Id: Id954be61a0b4596339a659928fb630c5c5538a9a
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Replace non-standard debug function with the conventional
functions in Goodix driver. And remove unnecessary debug
function used in Goodix driver.
Change-Id: Ia89d225333c1309710aab67b9c406784567e3050
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
There are multiple buffer overflow and input validation issues
in Goodix gt915 driver, fix these issues by adding data length
check and change file system node mode.
Change-Id: I5173fc1ca021fd45c939c7c8a4f460651330de5b
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Add dynamic detection support to goodix driver, where
the driver tries to read the chip id and make sure
it is communicating with the right chip.
gtp_read_version is modified to gtp_read_fw_version
which reads the firmware version from the controller
and will be used during fw update process.
Change-Id: I2dc51b84f817413da6bf9b266e2fe7e0bb09c4bc
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Multi-touch(MT) protocol B use input_mt_report_slot_state()
instead of send ABS_MT_TRACKING_ID event directly, so modify
the driver to follow the protocol and remove redundant protocol
A code.
Change-Id: I542e61fabaaa04fcf5fb7e454e10599511f18e39
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Signed-off-by: Sudhakar Manapati <smanap@codeaurora.org>
Add missing change for request_firmware_nowait so third party
drivers are able to load their firmware
Change-Id: Ic6b842a717bde9c2bc50a7c7845c7c50ac05be25
Signed-off-by: Gaurav Kohli <gkohli@codeaurora.org>