Per client lan statistics feature requires fetching data
from IPA Q6 and share it with user space application.
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.
Change-Id: I67e33c338f1d119e2e1a08ef462767e2e0cd6f1c
Acked-by: Abhishek Choubey <abchoube@qti.qualcomm.com>
Acked-by: Chaitanya Pratapa <cpratapa@qti.qualcomm.com>
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
We have observed race condition between inquiring the remote pd state and
indication call back execution. They run asynchronously so we have no
control on their concurrent execution. So to achieve mutual exclusion,
moving the portion of code which result in race condition to indication
acknowledgment routine. Indication acknowledgment is send in separate
thread context which will avoid race condition.
Change-Id: Ib94f7ef4efd5de63fc8bededcf5cb6ae4ca2c3d8
Signed-off-by: Avaneesh Kumar Dwivedi <akdwived@codeaurora.org>
__list_lru_walk_one() acquires nlru spin lock (nlru->lock) for longer
duration if there are more number of items in the lru list. As per the
current code, it can hold the spin lock for upto maximum UINT_MAX entries
at a time. So if there are more number of items in the lru list, then
"BUG: spinlock lockup suspected" is observed in the below path -
[<ffffff8eca0fb0bc>] spin_bug+0x90
[<ffffff8eca0fb220>] do_raw_spin_lock+0xfc
[<ffffff8ecafb7798>] _raw_spin_lock+0x28
[<ffffff8eca1ae884>] list_lru_add+0x28
[<ffffff8eca1f5dac>] dput+0x1c8
[<ffffff8eca1eb46c>] path_put+0x20
[<ffffff8eca1eb73c>] terminate_walk+0x3c
[<ffffff8eca1eee58>] path_lookupat+0x100
[<ffffff8eca1f00fc>] filename_lookup+0x6c
[<ffffff8eca1f0264>] user_path_at_empty+0x54
[<ffffff8eca1e066c>] SyS_faccessat+0xd0
[<ffffff8eca084e30>] el0_svc_naked+0x24
This nlru->lock is acquired by another CPU in this path -
[<ffffff8eca1f5fd0>] d_lru_shrink_move+0x34
[<ffffff8eca1f6180>] dentry_lru_isolate_shrink+0x48
[<ffffff8eca1aeafc>] __list_lru_walk_one.isra.10+0x94
[<ffffff8eca1aec34>] list_lru_walk_node+0x40
[<ffffff8eca1f6620>] shrink_dcache_sb+0x60
[<ffffff8eca1e56a8>] do_remount_sb+0xbc
[<ffffff8eca1e583c>] do_emergency_remount+0xb0
[<ffffff8eca0ba510>] process_one_work+0x228
[<ffffff8eca0bb158>] worker_thread+0x2e0
[<ffffff8eca0c040c>] kthread+0xf4
[<ffffff8eca084dd0>] ret_from_fork+0x10
Fix this lockup by reducing the number of entries to be shrinked from the
lru list to 1024 at once. Also, add cond_resched() before processing the
lru list again.
Change-Id: I6df8d74cbc4c5ceac294f2d0784702cf096e84be
Link: http://marc.info/?t=149722864900001&r=1&w=2
Link: http://lkml.kernel.org/r/1498707575-2472-1-git-send-email-stummala@codeaurora.org
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Suggested-by: Jan Kara <jack@suse.cz>
Suggested-by: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Alexander Polakov <apolyakov@beget.ru>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <stable@vger.kernel.org>
Patch-mainline: linux-mm @ 29/06/17, 09:09:35
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
list_lru_count_node() iterates over all memcgs to get the total number of
entries on the node but it can race with memcg_drain_all_list_lrus(),
which migrates the entries from a dead cgroup to another. This can return
incorrect number of entries from list_lru_count_node().
Fix this by keeping track of entries per node and simply return it in
list_lru_count_node().
Change-Id: I19e3b527804e95be75f48ee363c8207c0e7ee2ff
Link: http://lkml.kernel.org/r/1498707555-30525-1-git-send-email-stummala@codeaurora.org
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Alexander Polakov <apolyakov@beget.ru>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Patch-mainline: linux-mm @ 29/06/17, 09:09:15
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Add WLAN carveout region of size 1MB. But additional guard of 1MB is
also added due to system limitations.
Change-Id: I1cd38f1ced820132209e31acc55a1321c879a09c
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>
Fence lock is not taken in sync_print_fence() while calling
sync_print_pt() which in turn calls fence_is_signaled() to check the
status of each fence before printing. This creates a race condition
that corrupts fence data structure when another thread calls
fence_is_signaled_locked() on the same fence. Since we don't need to
signal the fence while logging, it can be fixed by simply checking fence
flag status directly instead of calling fence_is_signaled_locked().
Change-Id: I1b4732cf3779a5b75a372e11170b438a4deabe67
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
While switching from hs400 to hs200 mode, high speed mode
timing should be selected in the device before changing the
clock frequency in the host. But current implementation,
(mmc_hs400_to_hs200) first updates the frequency in the host
and then updates mode in the device. This is a spec violation.
Hence update the sequence to comply with the spec.
Change-Id: I0694edac9dd005ec68add9cc38bbe6fa4245ed48
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
Couple of code cleanup
- remove dead code
- initialize local variables before use
- validate gsi_ep_cfg_ptr return
Change-Id: Ia2c2a5559fa2c5f89b33cc1ff897df0faa725e7e
Signed-off-by: Mohammed Javid <mjavid@codeaurora.org>
Memory translation fault occurs when incorrect memory
is accessed. To avoid translation fault, do not access
message memory which is not initialized.
Change-Id: Id5e89350a4bc51021964ee63286ea69040f1b32a
Signed-off-by: Shrey Vijay <shreyv@codeaurora.org>
Changes that reset remote cpu backlog state are removed with the
following commit. Adding them back.
I6e688bf0d09 ("net: rps: send out pending IPI's on CPU hotplug")
Change-Id: I436d1a1f185f0ddc375349e135bbb5d6eb8c5f26
Signed-off-by: Ashwanth Goli <ashwanth@codeaurora.org>
This reverts commit b67bb93f56 ("power: reset: Do not
disable SDI during reset"), to restore the original
behavior of disabling SDI during reset.
Change-Id: I6ad0472dc5d766ffea2a942fc226fb742fe44242
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
Move the input validation for the connector's HDR support
before calling the API to set the infoframe rather than within
the API itself.
This helps to avoid redundant checks and logging.
Change-Id: If21562920edb1613a73b5e18ab258a57e46c1d7b
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Verify IPA client ID is valid before using it to
access clients array for logging purposes. In case of
invalid id, do not access the array.
Change-Id: I7af6ee765a6d70d61721ac21b6a92ed53469b05a
CRs-fixed: 2051257
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
ipa3_qmi_ctx is a global variable that may be accessed by
different worker threads. Protect the access to it
using mutex lock so that the access will be always atomic.
Change-Id: Iaf0c95d66817833c8e8123b12e94a7a01ab8df2c
CRs-fixed: 2056414
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
PMIC GPIO19 is used by 11ad device to control the refclk3,
while switching to slow clock.
Configure GPIO as input, no pull and VIN 1 for 1.8V source.
Change-Id: I89c04d70f1d8eff550b85d4fcb16bf08bf128ca7
Signed-off-by: Maya Erez <merez@codeaurora.org>