wake_up_process() should never wakeup a TASK_STOPPED/TRACED task.
Change it to use TASK_NORMAL and add the WARN_ON().
TASK_ALL has no other users, probably can be killed.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
putreg() assumes that the tracee is not running and pt_regs_access() can
safely play with its stack. However a killed tracee can return from
ptrace_stop() to the low-level asm code and do RESTORE_REST, this means
that debugger can actually read/modify the kernel stack until the tracee
does SAVE_REST again.
set_task_blockstep() can race with SIGKILL too and in some sense this
race is even worse, the very fact the tracee can be woken up breaks the
logic.
As Linus suggested we can clear TASK_WAKEKILL around the arch_ptrace()
call, this ensures that nobody can ever wakeup the tracee while the
debugger looks at it. Not only this fixes the mentioned problems, we
can do some cleanups/simplifications in arch_ptrace() paths.
Probably ptrace_unfreeze_traced() needs more callers, for example it
makes sense to make the tracee killable for oom-killer before
access_process_vm().
While at it, add the comment into may_ptrace_stop() to explain why
ptrace_stop() still can't rely on SIGKILL and signal_pending_state().
Reported-by: Salman Qazi <sqazi@google.com>
Reported-by: Suleiman Souhlal <suleiman@google.com>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Conflicts:
arch/x86/kernel/step.c
Cleanup and preparation for the next change.
signal_wake_up(resume => true) is overused. None of ptrace/jctl callers
actually want to wakeup a TASK_WAKEKILL task, but they can't specify the
necessary mask.
Turn signal_wake_up() into signal_wake_up_state(state), reintroduce
signal_wake_up() as a trivial helper, and add ptrace_signal_wake_up()
which adds __TASK_TRACED.
This way ptrace_signal_wake_up() can work "inside" ptrace_request()
even if the tracee doesn't have the TASK_WAKEKILL bit set.
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
NV bin is downloaded when wlan driver is loaded. This change
adds support for NV bin download during coldboot of WCNSS and
thus much before wlan driver is loaded. NV bin id not downloaded
by platform driver during SSR.
Change-Id: I44065185e73a9d43ab7e5d731705321522a0e5a1
Acked-by: Rajesh Chauhan <rajeshc@qca.qualcomm.com>
Signed-off-by: Sameer Thalappil <sameert@codeaurora.org>
Setting net.ipv6.conf.<interface>.accept_ra=2 causes the kernel
to accept RAs even when forwarding is enabled. However, enabling
forwarding purges all default routes on the system, breaking
connectivity until the next RA is received. Fix this by not
purging default routes on interfaces that have accept_ra=2.
Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Iliyan Malchev <malchev@google.com>
get_monotonic_boottime adds three nanonsecond values stored
in longs, followed by an s64. If the long values are all
close to 1e9 the first three additions can overflow and
become negative when added to the s64. Cast the first
value to s64 so that all additions are 64 bit.
Change-Id: Ic996d8b6fbef0b72f2d027b0d8ef5259b5c1a540
Signed-off-by: Colin Cross <ccross@android.com>
This reverts commit 994ff121f0c2e3ff00fa38ae2f8dfde4bda1b332.
PM8921 MPP7 no longer must be kept high at all times for targets
using PCDDR3 memory because newer hardware ensures that memory is
always powered when necessary.
picked from fb3d2f519b3dabf307596389365fe04384d0c3eb
Change-Id: If5691877ea5b0e9c268d32fe4b9458652bf77c7f
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69275
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
Tested-by: Sam hblee <Sam_hblee@asus.com>
This is a workaround, for instability seen with leaving gfx footswitch
go on/off.
Separate board-flo-gpu.c is based on board-8064-gpu.c for flo hardware
so that workaround is also added. This refers to the following change
Change-Ids
bbe03d50952ebac9b6fdef315cf12ae57e7963da
Change-Id: Ia49ccae7d2cfc64cf2f22bf053683dc728cc4f20
Signed-off-by: paris_yeh <paris_yeh@asus.com>
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69279
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
The current 8064 frequency plan supports max mdp clk up to 266.667MHz.
CRs-Fixed: 405103
Author is Huaibin Yang <huaibiny@codeaurora.org>
Reference change-id is I326f5becc642399a4a0e9d97752d893752388066
Change-Id: I873d0058602cba7e2239daecce89ee8f7613faa4
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69303
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
Tested-by: Sam hblee <Sam_hblee@asus.com>
In order to support extra data during secure playback,
video core meta data buffers need to be allocated from
MFC heap. This is required as both HLOS and video core
have read-write access to this heap. As each meta buffer
size is 8KB and there can be 32 meta & output buffers,
increase the MFC ION heap size by 256KB.
Author is Deepak Verma <dverma@codeaurora.org>
Reference change-id is I033d24c9d02a879e38c5f6d86b2b6c0a767ec25c
Change-Id: I60f595c7e2a2a569dcfa320c7c1e3ff5bdd6f064
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69302
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
Tested-by: Sam hblee <Sam_hblee@asus.com>
This branch is currently very outdated. Cherry pick the following
changes in order to bring recent fixes to this branch.
Separate board-flo-*.c is based on board-8064-*.c for flo hardware,
it needs following change to fix build break:
Change-Ids
999ee576589682c27492184c22053d19819c0285
Change-Id: Ic51f927c0efc350372ccc98e2805cbde0bb26cb1
Change-Id: I6187110b272c6032d90b1a42e97bbbc25bd9edce
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69295
Reviewed-by: Nick Cheng <nick_cheng@asus.com>
Tested-by: Nick Cheng <nick_cheng@asus.com>
8960AB and 8064AB have a new revision of the Krait SPM hardware.
The SPM v1.15x on these targets uses a different bit to control the
apc_pdn signal.
Update the SPM sequences for standalone and power collapse to use the
new sequences.
L2 SPM or Krait WFI/Retention sequences are not affected.
CRs-fixed: 419258
Author is Anji Jonnala <anjir@codeaurora.org>
Reference change-id is I3bcf335ac50cd1181047fe1ee1d56ecd507ae35c.
Change-Id: If532e26601e52a3b304cdc0c1856cf0b234dcee0
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69287
Reviewed-by: Singhome Lee <singhome_lee@asus.com>
Tested-by: Singhome Lee <singhome_lee@asus.com>
Re-caculate the index of sysfs project_id because hardware revision
shorten from 3 bits to 2 bits.
Change-Id: I84910ae4d743fc45660f547e2f149c7e75334372
Signed-off-by: paris_yeh <paris_yeh@asus.com>
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69155
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
1. set fps back to 60 for LG panel
for panasonic panel, set to fps 60 still have underrun
2. hard code ab, ib (memory clock) to max for mipi video mode panel
because the priority of display is not high enough, the bandwidth may be robbed by others
for JDI mipi command mode panel, there may not be underrun issue because the panel has framebuffer itself
Change-Id: Id95c56ecf570a7cae8db37eede0b3555b3186bd5
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/69094
Reviewed-by: Yetta Wu <Yetta_Wu@asus.com>
Tested-by: Yetta Wu <Yetta_Wu@asus.com>
Reviewed-by: Warlock Tai <warlock_tai@asus.com>
3-4mA power hit is expected. Keep GFX3D footswitch always on to
resovle instability during suspend and resume testing. In RTB log,
system locks up in and between footswitch_enable() operations when
issue is reproduced.
FIXME: Qualcomm will continue to debug this issue and submit a
formal fix to partner gerrit once this problem is identified.
Change-Id: If5753f9f6e7ebac47a6dbca849b16ee7ba68fceb
Signed-off-by: paris_yeh <paris_yeh@asus.com>
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68850
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68854
3V3 is always high in spec, so we need to delay more time after 3V3 on
Change-Id: Iab0ecaecefb98cc6bae441381d233759b235e2ba
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68839
Reviewed-by: Yetta Wu <Yetta_Wu@asus.com>
Tested-by: Yetta Wu <Yetta_Wu@asus.com>
Reviewed-by: Sam hblee <Sam_hblee@asus.com>
to make charging IC function correctly
Change-Id: I619ee5eccb85e586b8a5adbacc40115547e1d168
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68687
Reviewed-by: Yetta Wu <Yetta_Wu@asus.com>
Tested-by: Yetta Wu <Yetta_Wu@asus.com>
Reviewed-by: Warlock Tai <warlock_tai@asus.com>
- Revise gpio settings to active gsbi2 bus in board-flo-gpiomux.c.
- Register both mpu6500 and akm8963 to gsbi2 bus.
- Add drivers for mpu6500 and akm8963 with MotionApps v5.1.4.
Change-Id: I2ddfc1bc28153c6396d5fa0534927ede31383e94
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68257
Reviewed-by: Jive Hwang <jive_hwang@asus.com>
Tested-by: Jive Hwang <jive_hwang@asus.com>
This is to avoid the leakage from the ap2mdm_status pin when the modem is not on yet.
Change-Id: Ic36ca808dd0ace918ea33b0dc6c877b018934aab
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68259
Reviewed-by: Leslie Yu <Leslie_Yu@asus.com>
Tested-by: Leslie Yu <Leslie_Yu@asus.com>
Disable the mdm2ap_pbl_ready pin after mdm is now ready
and enable the mdm2ap_pbl_ready pin when the soft reset modem.
Change-Id: I6d1b6d549c7baab41fcc20cee573f97bd463c113
Reviewed-on: http://mcrd1-5.corpnet.asus/code-review/master/68256
Reviewed-by: Yi-Hsin Hung <Yi-Hsin_Hung@asus.com>
Tested-by: Yi-Hsin Hung <Yi-Hsin_Hung@asus.com>
Reviewed-by: Leslie Yu <Leslie_Yu@asus.com>