Set APPS_LAN_CONS pipe as the statuses exception pipe for all
Q6 pipes instead setting this pipe as exception pipe only for
pipe 0.
Change-Id: Id00abb0ddabddd5c76a45e0878e327cba950176c
CRs-Fixed: 2027835
Signed-off-by: Amir Levy <alevy@codeaurora.org>
Userspace can cause the kref to handles to increment
arbitrarily high. Ensure it does not overflow.
Signed-off-by: Daniel Rosenberg <drosen@google.com>
Bug: 31992382
Test: See bug for poc
Change-Id: I6bff1df385742b1d836d43180dc87fadcea80782
Git-repo: https://android.googlesource.com/kernel/msm
Git-commit: 0c702db4d90de88df11057bcf0d8fb2dfe741605
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
PCURx[MSB:LSB] is a 14-bit signed raw data, but treated as two full bytes
during reg reading, as a result bit 14 and 15 are filled with 0s. When
the raw data is negative, the mistreated reading gives positive result.
Hence the eventual PCURx after applying the gain and offset corrections
is incorrect.
Fix it by extending sign bit when negative.
Change-Id: Ia35406809355bd5e2d6cfeb890dd870430e38f66
Signed-off-by: Harry Yang <harryy@codeaurora.org>
RmNet driver provides a transport agnostic MAP (multiplexing and
aggregation protocol) support in embedded and bridge modes. Module
provides virtual network devices which can be attached to any IP-mode
physical device. This will be used to provide all MAP functionality
on future hardware in a single consistent location.
CRs-Fixed: 2022292
Change-Id: I4dd0f4fcf00bbf9dcbec65cec82436d48a813ecc
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Update GFX PM-QoS entries according to the measured
LPM latencies for SDM630 to prevent l2-pc.
Change-Id: I3a59a26bf19d79393c4b45c8a3b243897f3f6eb2
Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
It is observed that the USB_PHY may interfere with APSD
when the charger is inserted at PON. This may lead to
incorrect charger type detection.
Fix this by doing a APSD re-run during driver initialization
if USB is present and regardless of the charger type.
CRs-Fixed: 2011764
Change-Id: Icc9ee7bacf0eecdb311ca52979758514abca154e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
commit 82f2935616 ("usb: gadget: f_mass_storage: Allow USB LPM
upon ep disable") just increments power usage count by 1 for dwc3 device
in thread handler. Since child count for dwc3 parent remains 0, there is
possibility of dwc3 parent going into suspend even if dwc3 power usage
count is set to 1. This causes unclocked register access as mdwc gets
runtime suspended and mass storage thread handler disables the endpoint.
Fix this issue by calling usb_gadget_autopm_get_async() in set_alt which
increments dwc3 power usage count and carry out resume asynchronously.
Change-Id: Iccce928590d8e67e234f0aa371f78eb1e6a326b7
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
In ipc_log_string() the return value from vsnprintf(), data_size,
is used to increment ectxt.offset. However, this length could
actually be much larger than that of ectxt.buff itself. This is a
typical mistake of [v]snprintf() usage [1], in that it returns
not the number of characters written but how many characters
*would* have been written regardless of whether it was truncated.
The result is that even though ectxt.buff itself is not overrun,
the incorrect size in ectxt.offset will be later used as the length
parameter when memcpy()'ing to the ipc_log_page's data, overflowing
that memory and beyond. The write_page's write_offset would also
indicate an out-of-bounds (greater than PAGE_SIZE) length.
The fix is simple: use vscnprintf() instead of vsnprintf().
[1] https://lwn.net/Articles/69419/
Change-Id: I2e9d44e74f5f30a009732e31a554d82e31946999
Signed-off-by: Jack Pham <jackp@codeaurora.org>