In the current implementation before triggering ESD read,
DSI SW waits for extra time to skip display blanking period.
Add an additional check for active line count to ensure that
ESD read is always triggered during display active region only.
Change-Id: I5893daf7cdfb8c1d0a0e962eb2e37d7cd053a6a5
Signed-off-by: Ashish Garg <ashigarg@codeaurora.org>
Currently there is a possibility of accessing freed up buffer
address after reallocation due to availability of old address
in mdlog entry table. The patch flushes table entries before
reallocating data buffer. Additional case of entries cleanup
during erroneous buffer free avoiding further buffer corruption.
CRs-Fixed: 2063721
Change-Id: I8424598ad34b809414518a1f7f5b1737ebe51e53
Signed-off-by: Hardik Arya <harya@codeaurora.org>
Add size check to ensure cal data bytes size fits inside
the cal date when copying to user space buffer.
CRs-Fixed: 2110256
Change-Id: I511999984684a9db4aaf1cf2c65eb1495c36980f
Signed-off-by: kunleiz <kunleiz@codeaurora.org>
The code in wmi_evt_aoa_meas can potentially overflow a data
buffer if the len parameter is smaller than
offsetof(struct wmi_aoa_meas_event, meas_data). Add protection
against this case.
Change-Id: I3f86f231e0c6b5ac54abbb9865cba0cbbd8d0448
Signed-off-by: Lior David <liord@codeaurora.org>
Fix ordering of link creation between node->prev and prev->next in
osq_lock(). A case in which the status of optimistic spin queue is
CPU6->CPU2 in which CPU6 has acquired the lock.
tail
v
,-. <- ,-.
|6| |2|
`-' -> `-'
At this point if CPU0 comes in to acquire osq_lock, it will update the
tail count.
CPU2 CPU0
----------------------------------
tail
v
,-. <- ,-. ,-.
|6| |2| |0|
`-' -> `-' `-'
After tail count update if CPU2 starts to unqueue itself from
optimistic spin queue, it will find an updated tail count with CPU0 and
update CPU2 node->next to NULL in osq_wait_next().
unqueue-A
tail
v
,-. <- ,-. ,-.
|6| |2| |0|
`-' `-' `-'
unqueue-B
->tail != curr && !node->next
If reordering of following stores happen then prev->next where prev
being CPU2 would be updated to point to CPU0 node:
tail
v
,-. <- ,-. ,-.
|6| |2| |0|
`-' `-' -> `-'
osq_wait_next()
node->next <- 0
xchg(node->next, NULL)
tail
v
,-. <- ,-. ,-.
|6| |2| |0|
`-' `-' `-'
unqueue-C
At this point if next instruction
WRITE_ONCE(next->prev, prev);
in CPU2 path is committed before the update of CPU0 node->prev = prev then
CPU0 node->prev will point to CPU6 node.
tail
v----------. v
,-. <- ,-. ,-.
|6| |2| |0|
`-' `-' `-'
`----------^
At this point if CPU0 path's node->prev = prev is committed resulting
in change of CPU0 prev back to CPU2 node. CPU2 node->next is NULL
currently,
tail
v
,-. <- ,-. <- ,-.
|6| |2| |0|
`-' `-' `-'
`----------^
so if CPU0 gets into unqueue path of osq_lock it will keep spinning
in infinite loop as condition prev->next == node will never be true.
Change-Id: I5f473433ae2e10308fa7b27680bf98530fe65b0d
Signed-off-by: Prateek Sood <prsood@codeaurora.org>
[ Added pictures, rewrote comments. ]
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: sramana@codeaurora.org
Link: http://lkml.kernel.org/r/1500040076-27626-1-git-send-email-prsood@codeaurora.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Git-commit: 50972fe78f24f1cd0b9d7bbf1f87d2be9e4f412e
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Changed ioctl VIDIOC_ENUM_FRAMESIZES behavior in conformance with
V4L2 specification to be able to query based on pixel format.
Change-Id: Ia5803341070d14335cbb939108575f835471a857
Signed-off-by: Akshay Chandrashekhar Kalghatgi <akalghat@codeaurora.org>
In reset_framedrop function configure period
based on pattern to avoid overflow in fastaec mode.
Change-Id: Iddf19fb8a293a2c72682c65ee8fe6f3b7ea2b223
Signed-off-by: Ramesh V <ramev@codeaurora.org>
Frameskip range will not get reset if session ends at
max_frameid, in next session same frame will get skip.
to avoid this reset in every streamoff.
Change-Id: Ic363d8d53e96379f9d69f4a0adc079d20a9e87bb
Signed-off-by: Ramesh V <ramev@codeaurora.org>
For UL firewall v6 rules are sent to IPA Q6 in case of
whitelisting to allow only specific connections and drop
the rest of the connections.
Add a support to handle UL firewall request, response and
indication in rmnet ipa driver.
Change-Id: I74a80dce2e16bd8a2c22f12ae3a3f50807c4784e
Acked-by: Abhishek Choubey <abchoube@qti.qualcomm.com>
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
Currently CCID function supports only upto HighSpeed
enumeration. Add descriptors for SuperSpeed mode
and bind them to enable SuperSpeed enumeration of
USB CCID function.
Change-Id: I1908a9aa2daec7d1d361cb996e82cd1a0700f7cc
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
If some error occurs in mmc_blk_cmdq_part_switch() function,
the error is not being passed to higher layers to inform the
failure. Instead it returns zero even though no request is
completed with success. This change returns error to higher
layers in case of any failures in mmc_blk_cmdq_part_switch.
Change-Id: Icd1d2d9bc6bb5bd16bc24706fb20603cc33cee40
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Added code changes to avoid use after free
by having local copy and
cache it upon successful return.
Change-Id: Iffac9ba89658b986bd8b630d22af619300e0ff5d
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
QDSS Data and QDSS Ctrl related string descriptors are defined but those
are not being advertised to Host. Hence update USB QDSS interface
descriptor with USB QDSS string descriptor. This helps some of host side
application to detect enuermated QDSS interface and allows IO with it.
Change-Id: I1ff141f1b52d867d70ecc8f23ac065639999c0f9
Signed-off-by: Mayank Rana <mrana@codeaurora.org>