* refs/heads/tmp-e4528dd:
Linux 4.4.65
perf/core: Fix concurrent sys_perf_event_open() vs. 'move_group' race
ping: implement proper locking
staging/android/ion : fix a race condition in the ion driver
vfio/pci: Fix integer overflows, bitmask check
tipc: check minimum bearer MTU
netfilter: nfnetlink: correctly validate length of batch messages
xc2028: avoid use after free
mnt: Add a per mount namespace limit on the number of mounts
tipc: fix socket timer deadlock
tipc: fix random link resets while adding a second bearer
gfs2: avoid uninitialized variable warning
hostap: avoid uninitialized variable use in hfa384x_get_rid
tty: nozomi: avoid a harmless gcc warning
tipc: correct error in node fsm
tipc: re-enable compensation for socket receive buffer double counting
tipc: make dist queue pernet
tipc: make sure IPv6 header fits in skb headroom
ANDROID: uid_sys_stats: fix access of task_uid(task)
BACKPORT: f2fs: sanity check log_blocks_per_seg
Linux 4.4.64
tipc: fix crash during node removal
block: fix del_gendisk() vs blkdev_ioctl crash
x86, pmem: fix broken __copy_user_nocache cache-bypass assumptions
hv: don't reset hv_context.tsc_page on crash
Drivers: hv: balloon: account for gaps in hot add regions
Drivers: hv: balloon: keep track of where ha_region starts
Tools: hv: kvp: ensure kvp device fd is closed on exec
kvm: arm/arm64: Fix locking for kvm_free_stage2_pgd
x86/mce/AMD: Give a name to MCA bank 3 when accessed with legacy MSRs
powerpc/kprobe: Fix oops when kprobed on 'stdu' instruction
ubi/upd: Always flush after prepared for an update
mac80211: reject ToDS broadcast data frames
mmc: sdhci-esdhc-imx: increase the pad I/O drive strength for DDR50 card
ACPI / power: Avoid maybe-uninitialized warning
Input: elantech - add Fujitsu Lifebook E547 to force crc_enabled
VSOCK: Detach QP check should filter out non matching QPs.
Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg()
Drivers: hv: get rid of timeout in vmbus_open()
Drivers: hv: don't leak memory in vmbus_establish_gpadl()
s390/mm: fix CMMA vs KSM vs others
CIFS: remove bad_network_name flag
cifs: Do not send echoes before Negotiate is complete
ring-buffer: Have ring_buffer_iter_empty() return true when empty
tracing: Allocate the snapshot buffer before enabling probe
KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings
KEYS: Change the name of the dead type to ".dead" to prevent user access
KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings
ANDROID: sdcardfs: Call lower fs's revalidate
ANDROID: sdcardfs: Avoid setting GIDs outside of valid ranges
ANDROID: sdcardfs: Copy meta-data from lower inode
Revert "Revert "Android: sdcardfs: Don't do d_add for lower fs""
ANDROID: sdcardfs: Use filesystem specific hash
ANDROID: AVB error handler to invalidate vbmeta partition.
ANDROID: Update init/do_mounts_dm.c to the latest ChromiumOS version.
Revert "[RFC]cgroup: Change from CAP_SYS_NICE to CAP_SYS_RESOURCE for cgroup migration permissions"
Conflicts:
drivers/md/Makefile
Change-Id: I8f5ed53cb8b6cc66914f10c6ac820003b87b8759
Signed-off-by: Blagovest Kolenichev <bkolenichev@codeaurora.org>
There is a potential race for tx/rx dma requests between
msm_startup() and irq handling, for cases where dmas are not
available. This results in irq path trying to do dma mapping,
resulting in data abort. For example, consider below scenario
where rx handler reads the intermediate value of dma->chan,
set in msm_request_rx_dma(), and tries to do dma mapping,
which results in data abort.
uart_port_startup()
msm_startup()
request_irq()
...
msm_request_rx_dma()
...
dma->chan = dma_request_slave_channel_reason(dev, "rx");
<UART RX IRQ>
msm_uart_irq()
msm_handle_rx_dm()
msm_start_rx_dma()
dma->desc = dma_map_single()
<data abort>
Change-Id: Icf5d48f2718c3c6a855ffd3d10988a93f8281d78
Signed-off-by: Neeraj Upadhyay <neeraju@codeaurora.org>
This ensures that caches are maintained and no stale
data is present.
Change-Id: Ie8e92197a5a4179d422a523d3d6dad48bdf0b5d2
Signed-off-by: Neeraj Soni <neersoni@codeaurora.org>
Place file offset validity checks under mutex for
synaptics_dsx_rmi_dev.c touch driver.
Git-repo: https://android.googlesource.com/kernel/msm
Git-commit: e1fb1600fc222337989e3084d68df929882deae5
Change-Id: I2c32babbccb483547204cb2843973abf97e988a5
Signed-off-by: Andrew Chant <achant@google.com>
[srkupp@codeaurora.org: This change is a fix for buggy
code pointed by sil after merging the above commit.}
Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
Currently MIDI function supports only upto HighSpeed
enumeration. Add descriptors for SuperSpeed mode
and bind them to enable SuperSpeed enumeration of
USB MIDI function.
Change-Id: I0451dabf91e88503ab588dadbfbe6a2b76e2351b
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Align the size of the IOVA that is being passed
in the arm_iommu_create_mapping() to 128MB.
Change-Id: Ia554c2157d6c46b2f3848f993a7e61ff7f029547
Acked-by: Chenna Kesava Raju <chennak@qti.qualcomm.com>
Signed-off-by: Tharun Kumar Merugu <mtharu@codeaurora.org>
The WLAN host driver is allocating the memory from pre-alloc pool
during insmod/wlan start up before WLAN driver register and
release the pre-alloc memory after driver unregister/remove.
The Pre-alloc memory leak check and reset in Icnss platform driver
on probe failure and after remove will leads to invalid memory
leak stat and dangling pointer for wlan host driver allocated memory
from the pre-alloc memory pool.
To fix the above issue remove the pre-allaoc memory leak
check and pre-alloc memory pool reset from the icnss platform
driver and export symbol for the pre-alloc memory leak check
and pre-alloc memory pool reset.
CRs-Fixed: 2039483
Change-Id: Id9f01c9d2b5184fbb58935eaf11fd21b50b47908
Signed-off-by: Hardik Kantilal Patel <hkpatel@codeaurora.org>
Reset and power off timing is different. Hence need a
separate callback function.
Change-Id: I9714a4449b1fbeab84017da4be17f5ca2cb6cab6
Signed-off-by: Arun KS <arunks@codeaurora.org>
This change defines upto 3 instances of external mdm9x45 modems in
device-tree which would need to be controlled by esoc (external esoc)
driver. The device-tree nodes allows the configuration of the external
modems (like the GPIO pins used to communicate status of modem) to be
specified.
Change-Id: I7e609f7549a02cd3322db76b00dc30137ed68953
Signed-off-by: Arun KS <arunks@codeaurora.org>
In certain scenarios, modem shutdown requests are handled in
userspace. Enhance request engine of esoc driver to send
shutdown requests to userspace.
Also, during a shutdown, avoid setting status to 0, if line is
not a power source. There can be multiple mdms monitoring status
line. This can otherwise be misinterpreted as an unexpected reset
by other mdms.
Change-Id: I9c20a86e76f892cc61dbfb814202b26e5cce3e96
Signed-off-by: Arun KS <arunks@codeaurora.org>
Signed-off-by: Srivatsa Vaddagiri <vatsa@codeaurora.org>
During an unexpected reset or error fatal, update the
crash status to SSR. This is important for the drivers
listening at SSR related kernel notifier calls, where
crash status is also passed as a data payload.
Change-Id: Ide0634d0139a84b5988fa87e709877f3028029ef
Signed-off-by: Arun KS <arunks@codeaurora.org>
SSR failures are considered fatal and results in system panic.
In certain scenarios system can continue to work even with a
failed subsystem.
Add an option in subsystem descriptor to relax on ssr failures.
Change-Id: I86dcaa615d6443937077880d9a91070d9c22ea1f
Signed-off-by: Arun KS <arunks@codeaurora.org>
[satyap@codeaurora.org: trivial merge conflict resolution]
Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Add clk_state event to record the state of all the clocks
into ftrace. The clock event could be triggered by using
the "trace_clocks" debugfs entry and it would dump the
current state of all clocks in ftrace logs.
Change-Id: I28b6574fe1d96472833a93e7b251dbba6c6eae49
Signed-off-by: Amit Nischal <anischal@codeaurora.org>
Add REAL_TYPE power_supply property to record the real time charger
type.
Change-Id: I5fb2e3e3e782bcac0f8dd6071a830bcf370ebbd4
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
Currently the code simply enforces Qnovo's current and voltage bypassing
other voters. This is not desired. Make Qnovo vote via the FCC and FV
votables. The only other vote it should skip is the votes coming from
battery profile.
Change-Id: I5c794ea209a8ea2a61d834e2f619d7ccfd02fed9
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Fix the cleanup path of probe failure to make sure
all the resources get released in proper order.
Change-Id: Ie482c9856569ea708a8fa186049ab778a8e5be12
Signed-off-by: Ashay Jaiswal <ashayj@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
The code flow between battery.c and smblib.c could end up with
stale references in smblib. This is when if pl_init fails for
some reason after creating the votables, while smblib obtains
references to them, those references become invalid.
Fix this by calling pl_init early in smb2 driver's probe such that if
it fails smb2 driver exits early.
Also change the name of pl_(de)init() functions to more appropriate
name - qcom_batt_(de)init().
Change-Id: I58f79d26e6cc8524e792a23185ff6fc8cfdffa75
Signed-off-by: Harry Yang <harryy@codeaurora.org>
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Added a new iommu test device which is dma-coherent. This
test device will be used for validating buffer coherency.
Change-Id: Iea1c57fd2cd5d71de2f26932d21cae8102fb918e
Signed-off-by: Sudarshan Rajagopalan <sudaraja@codeaurora.org>
Before asserting PERST, PCIe bus driver should switch GPIO to
sleep state. This will prevent host from missing any events after
the link is off.
Change-Id: Ie57d339da02dde6cbb3c41d2be52ee0602227193
Signed-off-by: Tony Truong <truong@codeaurora.org>
smb1355 doesn't have any facility to suspend input. One has to
disable charging using the chg_en command bit.
So, when parallel charging needs to be disabled, configure
the charger to ignore the chg_en input pin and instead use the
command register. The command register is always programmed to
disable charging.
When parallel charging needs to be enabled, configure it to
follow the chg_en input pin.
This will work for both smb1355 and smb1381 parallel chargers.
Change-Id: I50294f40927641c2e0a7c7e4e7d263592086d3a9
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Currently when we are in hard reset, the driver requests to remove
the float of D+/D- when VBUS drops and once VBUS is back, it requests
to float D+/D- again. This behaviour ends up stomping over D+/D- lines
leading to noncompliance with PD spec.
Fix it by ensuring we only run the CC2 workaround while VBUS dips
in hard reset.
Change-Id: I2bb9364b890b3a227dd3ea3e0a34a415b600e21a
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Currently main power supply reports the value of the input current limit
set on the usb path. This is incorrect, it should report its own
share. When parallel is disabled, it will end up reporting a value
close to current limit, rounded by 25mA steps.
Note that it should report INT_MAX when there is no limit set on
the ICL - the case for hvdcp chargers.
CRs-Fixed: 2037898
Change-Id: I9859f3d759644a08c6f762e929c471a41b1cdf8f
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
Stopping a PROD channel might result in a timeout because the
channel is not empty, or IPA is busy. Whether or not to retry
a stop operation is determined by channel owner.
This change removes the common retry logic of retrying to stop
a PROD channel and adds a retry only for the scenario it is
actually needed.
Change-Id: I7ac1e81f7f99de2b0c3162aa5aaea2102a450838
CRs-Fixed: 2037955
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
There is a potential race condition where suspend interrupt
handling might be running from two different context in parallel.
Add a mutex to ensure mutual exclusion when voting for IPA clocks.
CRs-Fixed: 2037199
Change-Id: I7f14866696b6c9f5e239f3de2c4bad6991097ecb
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
Disable default enablement of slub debug on sdm660
debug defconfig to prevent skb allocation failure
due to increase in order of allocation.
Change-Id: If63822a5abf3b297a34b95e5e5f973556631bd68
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
'commit 6a61b529b4 ("ANDROID: uid_sys_stats: rename
uid_cputime.c to uid_sys_stats.c")' renamed CONFIG_UID_CPUTIME
to CONFIG_UID_SYS_STATS and enabled the new config on relevant
defconfigs except sdm660. Enable it and sync the config to
remove the reference to CONFIG_UID_CPUTIME. Task IO accounting
is enabled as CONFIG_UID_SYS_STATS depends on it.
Change-Id: Ib7163cf090c4fe86030469a257c49be1f6558984
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Currently, on loading WDSP, diag is trying to close socket
transport and opening glink channels. Due to this, deadlock
is happening and wdsp channels are not getting opened properly
which leads to WDSP log stall. This patch fixes the issue by
moving opening of channels in workqueue context.
CRs-Fixed: 2030858
Change-Id: Ib6153b04cdda80275a94b16842032a19b2a5bb75
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
When erase DCMD commands fail, a completion notification may get raised
by host controller for the task in addition to error interrupt. This
can result in the done function of mmc request getting called twice
and release the clock twice and mess up the clock request counter. The
done function should be called only once for DCMD commands except flush
commands.
Change-Id: Ie3a96e48ca98872cf686049eb5caa060f143f9cb
Signed-off-by: Vijay Viswanath <vviswana@codeaurora.org>