Sometimes system doesn't have enough continuous pages for kcalloc.
If kcalloc fail, use vmalloc instead.
Change-Id: Ie0864224f4eeedbd01b301f59b4eb307cc1f8df2
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Explicitly set what is visible to userspace
Bug: 196046570
Test: passed netd test suites
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Iacec0ef8ae290e01f1b60508d8abcd40a3653c83
Initialize message buffer for quota2_log to avoid sending
random data.
Bug: 196046570
Test: passed netd test suites
Fixes: 10cda83af9 ("ANDROID: netfilter: xt_quota2: adding the
original quota2 from xtables-addons")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: Ic9f34aaa2593809b375fc649b74567190c99dc62
Make sure string only contains the characters specified by userspace.
Fix cherry-picked from xtables-extensions project
Signed-off-by: Sam Liddicott <sam@liddicott.com>
Bug: 196046570
Test: passed netd test suites
Fixes: 10cda83af9 ("ANDROID: netfilter: xt_quota2: adding the
original quota2 from xtables-addons")
Signed-off-by: Todd Kjos <tkjos@google.com>
(cherry picked from https://git.code.sf.net/p/xtables-addons/xtables-addons
bc2bcc383c70b293bd816c29523a952ca8736fb5)
Change-Id: I965448564906e5fbf0fe6d6414f44d9e257ea195
eMMC device operating at 1.8 V can be run up to 100 MHz without SDCDC
(DLL) and with DLL above 100 MHz.
Change the existing pr_err condition to less than 100MHz.
Change-Id: Ia6575ddfd0e4dc57723226e3dff24ad485a1a2ea
Signed-off-by: Sarthak Garg <sartgarg@codeaurora.org>
SOC_WAKE_REQ can stuck in QMI layer for more than 500ms,
this will be considered as SOC_WAKE_REQ failure by host
driver and it will send SOC_WAKE_REL. Properly handle
SOC_WAKE_REL based on SOC_WAKE_REQ status and accordingly
update reference count.
Change-Id: Ib4a549bceb98be071e7a570a663276d2c7bea389
Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
When the kernel is compiled with the sparse static analysis tool
enabled, the following warnings are emitted:
drivers/soc/qcom//trace_secure_buffer.h:53:1: warning: incorrect type in
assignment (different base types)
drivers/soc/qcom//trace_secure_buffer.h:53:1: warning: incorrect type in
assignment (different base types)
drivers/soc/qcom//trace_secure_buffer.h:53:1: warning: invalid
assignment: +=
Fix this by converting the type of the addrs variable from phys_addr_t
to u64, since the value we read into it is of type__le64 will always be
64 bits, while phys_addr_t may not be. Also, use the correct accessors
when accessing variables of type __le64.
Change-Id: Ia7e2394f2dc501dbf80f9035e0177555449dcfd8
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
If refcount on mem entry is the last refcount, we will call
kgsl_mem_entry_destroy and detach it from process list. If
there is no refcount on the process private as well then we
will call kgsl_destroy_process_private to cleanup. During
cleanup, we will try to remove the same sysfs node which is
in use by the current thread and this situation will end up in
a deadlock.
To fix this problem, use a worker to put the refcount on mem
entry.
Change-Id: I69a77c4059489c95de2ca205701571daac4bdc8a
Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
We currently set best_parent_rate to the ideal frequency wanted by the
RCG. This doesn't always align to the exact frequency the parent can
provide. If they differ, then clk_calc_new_rates() will return the
parent as top, even if the rounded parent frequency isn't changing.
This causes clk_propagate_rate_change() to return before being called
for its children, which means children aren't notified of the
PRE_RATE_CHANGE events.
Set best_parent_rate to the rounded rate so that we don't unnecessarily
try to change the parent.
Change-Id: Ic976db7a13dfbc63cb66b032a45060565ca90b43
Signed-off-by: Mike Tipton <mdtipton@codeaurora.org>
No upstream commit, this is a fix to a stable 5.4 specific backport.
The intention of backport commit cac68d12c5 ("io_uring: grab ->fs as part
of async offload") as found in the stable 5.4 tree was to make
io_sq_wq_submit_work() to switch the workqueue task's ->fs over to the
submitting task's one during the IO operation.
However, due to a small logic error, this change turned out to not have any
actual effect. From a high level, the relevant code in
io_sq_wq_submit_work() looks like
old_fs_struct = current->fs;
do {
...
if (req->fs != current->fs && current->fs != old_fs_struct) {
task_lock(current);
if (req->fs)
current->fs = req->fs;
else
current->fs = old_fs_struct;
task_unlock(current);
}
...
} while (req);
The if condition is supposed to cover the case that current->fs doesn't
match what's needed for processing the request, but observe how it fails
to ever evaluate to true due to the second clause:
current->fs != old_fs_struct will be false in the first iteration as per
the initialization of old_fs_struct and because this prevents current->fs
from getting replaced, the same follows inductively for all subsequent
iterations.
Fix said if condition such that
- if req->fs is set and doesn't match current->fs, the latter will be
switched to the former
- or if req->fs is unset, the switch back to the initial old_fs_struct
will be made, if necessary.
While at it, also correct the condition for the ->fs related cleanup right
before the return of io_sq_wq_submit_work(): currently, old_fs_struct is
restored only if it's non-NULL. It is always non-NULL though and thus, the
if-condition is rendundant. Supposedly, the motivation had been to optimize
and avoid switching current->fs back to the initial old_fs_struct in case
it is found to have the desired value already. Make it so.
Cc: stable@vger.kernel.org # v5.4
Fixes: cac68d12c5 ("io_uring: grab ->fs as part of async offload")
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Nicolai Stange <nstange@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit c4a23c852e)
Bug: 196948385
Signed-off-by: Alistair Delva <adelva@google.com>
Change-Id: Id4e7757ef2beaf58ac578bd9f09184085b3d0f5b
Currently driver calculating stale delay based on baud rate during
stop_rx sequencer. When BT started with lower baud rate like 2400
this logic will add around 130msecs of extra delay during BT INIT.
This change will remove logic for stale delay calculation
based on baud rate and add constant delay of 10msec to
wait for stale interrupt during stop_rx_sequencer.
Change-Id: I566d79145ba887de71482642655b63c5bd640fc8
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
To handle install cnss2 as module, need set dms server state after
bus init.
Change-Id: Ie6ac374193057190a69cb8e98da1771657b00f2d
Signed-off-by: Will Huang <wilhuang@codeaurora.org>
Logs loop count is reduced from 5 to 1 as 5 time looping of same
register set is not required.
Change-Id: Iba5b4b39c2cebb19298250925ea01992ddcd5e77
Signed-off-by: Priyansh Jain <priyjain@codeaurora.org>
This change is for general scheduler improvements.
Change-Id: Ib0ed25f0b83a6a7bbc0f600ef2a9351d578bffb5
Signed-off-by: Lingutla Chandrasekhar <clingutla@codeaurora.org>
To avoid overclocking issues observed on few parts,
use floor ops for SDCC clocks.
Change-Id: I0bdb6dd540a4885f0c39f25ed97b17035e31f510
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
FIFO_REAL_TIME_FILL_STATUS_MASK is different for haptics HW
version V3. Update it.
Change-Id: Ida8326d89678af34ae2c3a35164ae1a7ad5f6b7b
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Add ep details corresponding to
RMNET_CV2X tethering over eth.
Change-Id: I0285887470c950a73e61dd51bf673bbc650d40bb
Signed-off-by: Pooja Kumari <kumarip@codeaurora.org>
As per the latest ipcat gpio6 func2 should be
mapped to qup6. Changes are done to support the same.
Change-Id: I57bf30916a8b51eececdeefe21ac3729bc20d903
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>
"mapped" variable inside kgsl_mem_entry structure is not used anymore.
Remove this variable from kgsl_mem_entry structure.
Change-Id: I3ced1ae140e8ce91fdc4eac3276d3f5283823fd6
Signed-off-by: Kamal Agrawal <kamaagra@codeaurora.org>
commit 77ec462536a13d4b428a1eead725c4818a49f0b1 upstream.
(The upstream patch was not marked as fixed but this can fix
Fixes: 28b1a824a4 ("arm64: vdso: Substitute gettimeofday() with C implementation")
sysbench memory comparison:
- Before: 3072.00 MB transferred (2601.11 MB/sec)
- After: 3072.00 MB transferred (3217.86 MB/sec)
)
We can avoid the expensive ISB instruction after reading the counter in
the vDSO gettime functions by creating a fake address hazard against a
dummy stack read, just like we do inside the kernel.
Bug: 195968646
Fixes: 28b1a824a4 ("arm64: vdso: Substitute gettimeofday() with C implementation")
Signed-off-by: Will Deacon <will@kernel.org>
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
Link: https://lore.kernel.org/r/20210318170738.7756-5-will@kernel.org
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
CC: stable@vger.kernel.org
(cherry picked from commit 77ec462536a13d4b428a1eead725c4818a49f0b1)
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Change-Id: I891873626c27060e7ead724754096a7c5f59e4e6
The function pil_clear_segment should be called only
when S2 mapping is success. So update clear_fw_region
accordingly.
Change-Id: Ie5bcf5b322ce347b08a575d18b7de3226027af91
Signed-off-by: Swetha Chikkaboraiah <schikk@codeaurora.org>