Currently, POWER_SUPPLY_STATUS shows status 'in charging' even with
JEITA hard HOT or COLD condition where charging actually stops.
Change status to 'not in charging'.
Change-Id: Id86296aed878499e24f9c3eb6e032239e2f02e40
Signed-off-by: Harry Yang <harryy@codeaurora.org>
lkp-robot reported a BUG:
[ 10.151226] BUG: unable to handle kernel NULL pointer dereference at 00000198
[ 10.152525] IP: rt6_fill_node+0x164/0x4b8
[ 10.153307] *pdpt = 0000000012ee5001 *pde = 0000000000000000
[ 10.153309]
[ 10.154492] Oops: 0000 [#1]
[ 10.154987] CPU: 0 PID: 909 Comm: netifd Not tainted 4.10.0-rc4-00722-g41e8c70ee162-dirty #10
[ 10.156482] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[ 10.158254] task: d0deb000 task.stack: d0e0c000
[ 10.159059] EIP: rt6_fill_node+0x164/0x4b8
[ 10.159780] EFLAGS: 00010296 CPU: 0
[ 10.160404] EAX: 00000000 EBX: d10c2358 ECX: c1f7c6cc EDX: c1f6ff44
[ 10.161469] ESI: 00000000 EDI: c2059900 EBP: d0e0dc4c ESP: d0e0dbe4
[ 10.162534] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
[ 10.163482] CR0: 80050033 CR2: 00000198 CR3: 10d94660 CR4: 000006b0
[ 10.164535] Call Trace:
[ 10.164993] ? paravirt_sched_clock+0x9/0xd
[ 10.165727] ? sched_clock+0x9/0xc
[ 10.166329] ? sched_clock_cpu+0x19/0xe9
[ 10.166991] ? lock_release+0x13e/0x36c
[ 10.167652] rt6_dump_route+0x4c/0x56
[ 10.168276] fib6_dump_node+0x1d/0x3d
[ 10.168913] fib6_walk_continue+0xab/0x167
[ 10.169611] fib6_walk+0x2a/0x40
[ 10.170182] inet6_dump_fib+0xfb/0x1e0
[ 10.170855] netlink_dump+0xcd/0x21f
This happens when the loopback device is set down and a ipv6 fib route
dump is requested.
ip6_null_entry is the root of all ipv6 fib tables making it integrated
into the table and hence passed to the ipv6 route dump code. The
null_entry route uses the loopback device for dst.dev but may not have
rt6i_idev set because of the order in which initializations are done --
ip6_route_net_init is run before addrconf_init has initialized the
loopback device. Fixing the initialization order is a much bigger problem
with no obvious solution thus far.
The BUG is triggered when the loopback is set down and the netif_running
check added by a1a22c1206 fails. The fill_node descends to checking
rt->rt6i_idev for ignore_routes_with_linkdown and since rt6i_idev is
NULL it faults.
The null_entry route should not be processed in a dump request. Catch
and ignore. This check is done in rt6_dump_route as it is the highest
place in the callchain with knowledge of both the route and the network
namespace.
CRs-Fixed: 1065581
Change-Id: Iaf7265f3a83ecba1a3c4f90ec3288b296d918c5a
Fixes: a1a22c1206("net: ipv6: Keep nexthop of multipath route on admin down")
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Git-commit: 1f17e2f2c8a8be3430813119fa7b633398f6185b
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Add support to configure DLKM install path.
TARGET_OUT is hard coded to system directory.
Use PRODUCT_OUT instead of TARGET_OUT to use user configured path
instead.
Change-Id: Iacbfa0fce69d3cb4b6f47a6c857983034633dc19
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Add support to use external DTC to compile device tree blobs.
Change-Id: I268d2332d5328c3b0050b35c96f91e8ef9e1f6f8
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Add support to compile device tree overlay blob.
'dtbo-y' target can be used to specify DT overlay blob.
'<target>-obj' must be specified to list base and overlay blobs.
Change-Id: Ib5036c70ba46374619cc43f9f7b697e1a444aebf
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Add support to pass build flags while compiling Linux kernel.
This change is required to add support in Linux kernel to use external
host executable. (example: dtc)
Usage example:
TARGET_KERNEL_MAKE_ENV := DTC_EXT=dtc$(HOST_EXECUTABLE_SUFFIX)
Change-Id: I008ca00cf9695133ff167ffdee8d8dfb89beb598
Signed-off-by: Shashank Mittal <mittals@codeaurora.org>
Update TDM slot mapping and add hostless FE DAI for customized
sound card on automotive platform.
CRs-fixed: 2024584
Change-Id: I08c2765972405e6dfbbcd6d2590109e119b92423
Signed-off-by: Honghao Liu <honghaol@codeaurora.org>
Fix code analysis issues related to seemp, such as, variables might
be used uninitialized, and array may use index values larger than its
size.
Change-Id: Ic537ece4d00ac3d72d679359b60999df473f8710
Signed-off-by: Yida Wang <yidaw@codeaurora.org>
SPI core has a characterstic that it always sends data in FIFO word size
when we compress the data and fill the FIFO. This helps to improve the
overall througput but sometimes for the data transfers which is not
aligned to FIFO Word [i.e 4] it pads extra bytes and sends out which can
mislead spi slave device.
Do not enable packing if it's a FIFO mode transfer and data size is not
aligned to FIFO word size.
Change-Id: I28f4e3e38db4b882f229c00aa54aabdc72d2c139
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
Sampling work can be accessed by do_sampling kthread
before init. Fix this by initializing sampling work before
using.
Change-Id: I790ce50fcddbcd08861e31fea9bde839d6fbb7cc
Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
GPS driver which makes use of PPS timestamp expects time
with respect to boot time. Existing pps_get_ts function
doesn't return time from the boot so replaced this function
with get_monotonic_boottime function which returns elapsed time
from the boot.
Change-Id: I8f656a1c4ef43f6314d4ab295a177125bcc8195e
CRs-Fixed: 1012438
Signed-off-by: Naresh Munagala <nareshm@codeaurora.org>
ath10k restart work needs to be scheduled after FW is ready
during SSR/PDR.
Synchronize restart work with FW ready indication.
Change-Id: I1cd93f4d1913e34c0714e717735c026a5c4faf1d
Signed-off-by: Govind Singh <govinds@codeaurora.org>
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
There is a mismatch in the display type string between
userspace and HDMI driver causing the userspace to
not correctly detect the display configuration.
Fix the string to align the userspace and driver.
Change-Id: Ibb59fde833cb0be743b337fcb857c81bcbb37266
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
These changes will merge back the enhancemnts done to improve the medium
side transfers. This was reverted temporarily till the fix identified.
Change-Id: Ib7ac92ecefe7ca3ff9f03716c51dc31b8322ee33
Signed-off-by: Mukesh Kumar Savaliya <msavaliy@codeaurora.org>
This reverts 'commit 9814eb7549 ("sd: Fix rw_max for devices
that report an optimal xfer size")'.
Max sectors limit for request queue(q->limits.max_sectors) is reduced
from 1024 to 16 sectors by above commit and causing performance impact
(reduced by upto 50%). Hence revert the change to fix the performance
issue observed on 8998.
Change-Id: I9abd2be6c90922ea9de818912f405e0d292a62b8
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
The binder allocator assumes that the thread that
called binder_open will never die for the lifetime of
that proc. That thread is normally the group_leader,
however it may not be. Use the group_leader instead
of current.
Bug: 35707103
Test: Created test case to open with temporary thread
Change-Id: Id693f74b3591f3524a8c6e9508e70f3e5a80c588
Signed-off-by: Todd Kjos <tkjos@google.com>
Signed-off-by: Martijn Coenen <maco@android.com>
Git-commit: 359795138d
Git-repo: https://android.googlesource.com/kernel/common/
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Adjust the PLL disable sequence as per the latest HW
programming guidelines to ensure there will not be any
stray clock glitches when PLL is turned OFF abruptly.
Change-Id: I6df35bbe18b0c42b43f38b9dd85c3502b2038928
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
When the supply to PLL digital domain is turned off,
it can result in certain PLL registers to get corrupted.
Make sure to re-program the PLL registers to the
power-on-reset value before starting to program the PLL again
to ensure that it locks reliably.
Change-Id: I63cac884cf11eae60b187f83654f5922a3342d66
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
During clock gating (ufshcd_gate_work()), we first put the link hibern8 by
calling ufshcd_uic_hibern8_enter() and if ufshcd_uic_hibern8_enter()
returns success (0) then we gate all the clocks.
Now let’s zoom in to what ufshcd_uic_hibern8_enter() does internally:
It calls __ufshcd_uic_hibern8_enter() which on detecting the LINERESET,
initiates the full recovery and puts the link back to highest HS gear and
returns success (0) to ufshcd_uic_hibern8_enter() which is the issue as
link is still in active state due to recovery!
Now ufshcd_uic_hibern8_enter() returns success to ufshcd_gate_work() and
hence it goes ahead with gating the UFS clock while link is still in active
state hence I believe controller would raise UIC error interrupts. But when
we service the interrupt, clocks might have already been disabled!
This change fixes for this by returning failure from
__ufshcd_uic_hibern8_enter() if recovery succeeds as link is still not in
hibern8, upon receiving the error ufshcd_hibern8_enter() would initiate
retry to put the link state back into hibern8.
Change-Id: Ib550fb791fa4c582b8f2d317a7f5f7594acb0872
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
CPU hotplug operations take place in preemptible context. This leaves
the hotplugging thread at the mercy of overall system load and CPU
availability. If the hotplugging thread does not get an opportunity
to execute after it has already begun a hotplug operation, CPUs can
end up being stuck in a quasi online state. In the worst case a CPU
can be stuck in a state where the migration thread is parked while
another task is executing and changing affinity in a loop. This
combination can result in unbounded execution time for the running
task until the hotplugging thread gets the chance to run to complete
the hotplug operation.
Fix the said problem by ensuring that hotplug can only occur from
threads belonging to the RT sched class. This allows the hotplugging
thread priority on the CPU no matter what the system load or the
number of available CPUs are. If a SCHED_NORMAL task attempts to
hotplug a CPU, we temporarily elevate it's scheduling policy to RT.
Furthermore, we disallow hotplugging operations to begin if the
calling task belongs to the idle and deadline classes or those that
use the SCHED_BATCH policy.
Change-Id: Idbb1384626e6ddff46c0d2ce752eee68396c78af
Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Add support to handle system error and shutdown notification
from MHI host.
CRs-Fixed: 2022936
Change-Id: Id36097dffd7571490d7d53d2e496bfe024702a42
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>