Commit graph

889,574 commits

Author SHA1 Message Date
Vivek Aknurwar
fb03af1d58 clk: qcom: clk-rcg2: Fix possible dereference of clk parent for dfs clocks
Fix possible dereference of clk parent while populating dfs clocks.

Change-Id: I797c499fe3ab57effb16c65f89365da9e5279995
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
2020-05-30 00:03:23 -07:00
Vipin Deep Kaur
398ff36a86 i2c: i2c-msm-geni: Do I2C configurations during resume
Do I2C frequency related configurations during resume.
Don't make the current message as NULL before the whole
transfer process is complete.

Change-Id: I8c4797fed1cfa0743c98eea3324e4b7b82d7f3cb
Signed-off-by: Vipin Deep Kaur <vkaur@codeaurora.org>
2020-05-29 23:55:09 -07:00
Vivek Aknurwar
bc47796178 clk: qcom: clk-debug: Fix possible NULL dereference in _mux_get_parent
Fix possible NULL dereference in retrieving clk parent name.

Change-Id: Ic4dbc6632f00365ea127042c0f3bd9b66a243ec6
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
2020-05-29 18:14:38 -07:00
Vivek Aknurwar
2c30b06474 clk: qcom: gdsc-regulator: Fix using uninitialized variable
Fix printing stale regval value in case of votable gdsc and if driver
observes error is gdsc polling.

Change-Id: I20c6e28fa8ed9ca5eea9f2a4c57b22c424ee262a
Signed-off-by: Vivek Aknurwar <viveka@codeaurora.org>
2020-05-29 18:10:11 -07:00
Maciej Żenczykowski
5885059bb3 ANDROID: net: bpf: permit redirect from ingress L3 to egress L2 devices at near max mtu
__bpf_skb_max_len(skb) is used from:
  bpf_skb_adjust_room
  __bpf_skb_change_tail
  __bpf_skb_change_head

but in the case of forwarding we're likely calling these functions
during receive processing on ingress and bpf_redirect()'ing at
a later point in time to egress on another interface, thus these
mtu checks are for the wrong device (input instead of output).

This is particularly problematic if we're receiving on an L3 1500 mtu
cellular interface, trying to add an L2 header and forwarding to
an L3 mtu 1500 mtu wifi/ethernet device (which is thus L2 1514).

The mtu check prevents us from adding the 14 byte ethernet header prior
to forwarding the packet.

After the packet has already been redirected, we'd need to add
an additional 2nd ebpf program on the target device's egress tc hook,
but then we'd also see non-redirected traffic and have no easy
way to tell apart normal egress with ethernet header packets
from forwarded ethernet headerless packets.

Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Maciej Żenczykowski <maze@google.com>

Link: https://patchwork.ozlabs.org/project/netdev/patch/20200507023606.111650-1-zenczykowski@gmail.com/
But note that a more thorough solution will be pursued.

Bug: 149816401
Change-Id: If55a144d7822e23bce85f65897bca7de4e0f9b24
2020-05-29 23:48:36 +00:00
Rajesh Kemisetti
8c7cf67d61 msm: kgsl: Add GPU_RBBM_GBIF_CLIENT_QOS_CNTL to powerup register list
GPU_RBBM_GBIF_CLIENT_QOS_CNTL register is getting updated for
every wake up sequence but not retained across IFPC.

Add this register to GPU specific powerup register list so as to
restore its value across IFPC.

Change-Id: I3fe15ad43af1f0f1adc49764e749bb89e4cf8a65
Signed-off-by: Rajesh Kemisetti <rajeshk@codeaurora.org>
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
2020-05-29 16:14:40 -07:00
Meng Wang
8e47f98c27 Revert "ALSA: PCM: User control API implementation"
This reverts commit 8625c90a01.
This change has been moved out of ASoC.

Change-Id: Ifc18eed2e21925f6edcf746902e1fe22a58774a4
Signed-off-by: Meng Wang <mengw@codeaurora.org>
2020-05-29 15:55:21 -07:00
Chaitanya Pratapa
577965258c msm: ipa: Add support to notify wan upstream iface info
Netmgr requires upstream iface info whenever tethering is
enabled to toggle RSB advanced feature on/off for the
respective upstream iface. Make changes to give provision
to get upstream iface whenever tethering is enabled.

Change-Id: I8f48f327ca55c3c91a978241087e6ffd5f8d4d10
Signed-off-by: Chaitanya Pratapa <cpratapa@codeaurora.org>
2020-05-29 15:41:57 -07:00
Isaac J. Manjarres
0275cded2e arm64: defconfig: Reduce default CMA pool from to 8 MB for trusted VM
The trusted VM reserves 32 MB of memory for CMA usage. Given
that the CMA requirement for the trusted VM is much lower than
32 MB, reduce the default CMA pool size to 8 MB for the trusted
VM, to give the kernel more memory for non-movable allocations.

Change-Id: Ib205767979fdf4655a660556c3546e7d5ffda8fb
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-05-29 15:30:18 -07:00
Yue Ma
fd13c5203a cnss2: Save PCIe GEN speed and width changed from device
WLAN device may adjust GEN speed and width at run time so save them
accordingly from driver.

Change-Id: I4b20909425c4606b3ee5995946c97542b9849a54
Signed-off-by: Yue Ma <yuem@codeaurora.org>
2020-05-29 14:50:27 -07:00
Manikandan Mohan
7ed72aef1a cnss2: Add support for bus bandwidth scale
Register MHI bus bandwidth scale callback function.

Change-Id: I0829db892545565c1d59898a988ed9f0da5d1470
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>
2020-05-29 14:38:17 -07:00
Raghu Ananya Arabolu
859471278e msm: kgsl: Do not program CP_LPAC_ROQ_THRESHOLDS registers
CP ucode (v0.76 onwards) handles the programming of these registers.

Change-Id: I233458160ea1f7ef55db49d751b9a50f84820a68
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
2020-05-29 13:44:55 -07:00
Isaac J. Manjarres
4375fddf0b soc: qcom: mem-buf: Fix compilation errors when hotplug is disabled
The mem-buf driver cannot compile when the memory hotplug
configurations are disabled. In certain environments, mem-buf
does not require memory hotplug functionality (i.e. when the mem-buf
driver acts as a supplier), so stub out the memory-hotplug calls
if memory hotplug is not enabled.

Change-Id: Id1305358c84a0c4cd19cb539254bb6c4f8b2fb90
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
2020-05-29 12:56:41 -07:00
Liam Mark
8101784526 mm/memory_hotplug: Rate limit page migration warnings
When offlining memory the system can attempt to migrate a lot of pages,
if there are problems with migration this can flood the logs.

Rate limit the page migration warnings in order to avoid this.

Change-Id: Iaf140cfc2f48cd441a384864c4d0b409db7b89d7
Signed-off-by: Liam Mark <lmark@codeaurora.org>
2020-05-29 12:53:36 -07:00
Guru Das Srinagesh
fe41af3d8f pwm: qti-lpg: Read tick duration via device tree
Tick duration defines the tick duration (in microseconds) for the clock
that PPG uses which is used to program the ramp step duration for the
pattern. If unspecified, the default value is 7800 us.

Change-Id: I7cd96d74a39becffbf9a008610c0092ad2462446
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2020-05-29 12:17:20 -07:00
Bhaumik Bhatt
6ea0bdda25 mhi: core: expose soc reset and register dump debugfs entries
For debug purposes, allow clients to issue SOC reset or read the entire
register dump when they wish to do so. They may not read proper values
or the reset may not take effect if the device is powered down.

Change-Id: I7fb7589a1bdfd5d7c610bdf6aab5edfc814cdceb
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-05-29 11:08:52 -07:00
Jeevan Shriram
6add15d8b6 scripts: gki: Add generic configuration options for defconfig
Add config fragment options to generate target specific defconfig
during compile time from multiple QCOM configuration options.

Change-Id: I5c1818a0658b781d0f0c7fae9378a9c573d5dd69
Signed-off-by: Jeevan Shriram <jshriram@codeaurora.org>
2020-05-29 10:01:48 -06:00
Greg Kroah-Hartman
83ab243879 ANDROID: GKI: update abi definitions now that sdcardfs is gone
With the removal of sdcardfs, a number of vfs functions got removed as
well (crazy "2" naming), so update the abi definitions so that all is
good with the build system.

Leaf changes summary: 3 artifacts changed
Changed leaf types summary: 2 leaf types changed
Removed/Changed/Added functions summary: 0 Removed, 0 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 1 Changed, 0 Added variable

1 Changed variable:

  [C] 'const inode_operations simple_dir_inode_operations' was changed at libfs.c:239:1:
    type of variable changed:

'struct dentry_operations at dcache.h:139:1' changed:
  type size hasn't changed
  1 data member deletion:
    'void (const path*, path*)* dentry_operations::d_canonical_path', at offset 832 (in bits) at dcache.h:154:1
  2917 impacted interfaces:

'struct inode_operations at fs.h:1924:1' changed:
  type size hasn't changed
  2 data member deletions:
    'int (vfsmount*, inode*, int)* inode_operations::permission2', at offset 192 (in bits) at fs.h:1928:1
    'int (vfsmount*, dentry*, iattr*)* inode_operations::setattr2', at offset 960 (in bits) at fs.h:1943:1
  2917 impacted interfaces:

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I5d3eea60252118212fd50353db3007cefc66715e
2020-05-29 15:27:58 +02:00
Greg Kroah-Hartman
441ba323ad Revert "ANDROID: sdcardfs: Enable modular sdcardfs"
This reverts commit c0dbfed5ff as it is
not needed now that sdcardfs is gone.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Cc: Guenter Roeck <groeck@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ia738ff19487e2e3e129d2ef17ef1f28f777bf306
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-05-29 15:08:00 +02:00
Greg Kroah-Hartman
6e2d51b07c ANDROID: remove sdcardfs-needed exports from whitelist
These symbols are not needed to be whitelisted anymore now that sdcardfs
is removed from the system.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib714633fe60846970ef20989745de5d011fef7fb
2020-05-29 14:57:33 +02:00
Greg Kroah-Hartman
04acc4cf60 Revert "ANDROID: vfs: Add setattr2 for filesystems with per mount permissions"
This reverts commit 044366659c as it is no
longer needed that sdcardfs is removed.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I721aa74cca4afccd7628ef3728d5fbfc43050e9e
2020-05-29 14:48:38 +02:00
Greg Kroah-Hartman
750140e3c4 Revert "ANDROID: vfs: Add permission2 for filesystems with per mount permissions"
This reverts commit 4fd07efd90 as it is no
longer needed because sdcardfs is gone.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic48212d19abc161e6f77b1bd659878e20a830448
2020-05-29 14:48:37 +02:00
Greg Kroah-Hartman
74594e1ba5 Revert "ANDROID: vfs: add d_canonical_path for stacked filesystem support"
This reverts commit b05bef535d as there is
no need for it as sdcardfs is now gone.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I7c9e868d641d6e3e07d36a9a2cbe97a9b01f0ef4
2020-05-29 14:48:37 +02:00
Greg Kroah-Hartman
5118529b0b Revert "ANDROID: fs: Restore vfs_path_lookup() export"
This reverts commit 4d53a0405c as sdcardfs
is no longer in the tree.

Bug: 157700134
Cc: Alistair Strachan <astrachan@google.com>
Cc: Yongqin Liu <yongqin.liu@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ifed0002912a8fe53ede93b7b47c6efdf9d5d8460
2020-05-29 14:48:37 +02:00
Greg Kroah-Hartman
c6d419d9ff ANDROID: sdcardfs: remove sdcardfs from system
It's no longer needed on Android devices, so remove sdcardfs core code,
and a bunch of exports that were only added so that it could be built as
a module.

Bug: 157700134
Cc: Daniel Rosenberg <drosen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I2b5c1103a79c07dcbd7273b42ac4b7ddf4615d38
2020-05-29 14:48:37 +02:00
Vijayanand Jitta
a489916458 ion: Use kthread_run for ion heap pool kworker threads
Ion heap pools are refilled by kworker threads when pool
count reaches low mark, these threads are created using
kthread_create, as a result these threads will remain in
TASK_UNINTERRUPTIBLE state until they are woken up i.e; till
low mark is reached. This can result in false hung task reports.
So, fix this by replacing kthread_create with kthread_run so
that these threads get woken up just after they are created.

Change-Id: I3f96387c8a1707e917cbdc2d74b0a64ca6c6cb2f
Signed-off-by: Vijayanand Jitta <vjitta@codeaurora.org>
2020-05-29 15:11:16 +05:30
Amir Vajid
7e0c383b72 PM / devfreq: icc: add support for L3 BW devices
Add support for L3 bandwidth devices that vote in units
of MBPS. This includes creating OPP tables in units of
MBPS as well as requiring that these devices define a
width in DT which is used to convert the votes to Hz
before submitting them to the L3 provider.

Change-Id: I47a569f76b9e57caac57788592784921c689505b
Signed-off-by: Amir Vajid <avajid@codeaurora.org>
2020-05-28 21:27:20 -07:00
Jagadeesh Kona
8d5131dd7a arm64: defconfig: Add support for Global clock controller for SHIMA
Enable Global clock controller for SHIMA.

Change-Id: Ia21fd413f238336d889bdb11d8fa39f27694bae2
Signed-off-by: Jagadeesh Kona <jkona@codeaurora.org>
2020-05-29 09:54:50 +05:30
Mayank Rana
7e7b7790b1 dwc3-msm: Force USB speed as high speed if SS release lane is called
DP driver shall call SS release lane API asynchronously when USB is into
device mode or host mode or not yet started. This is possible as ADSP
firmware notification over UCSI may be delayed and can be running in
parallel with altmode functionality. Hence force maximum speed as USB
high speed if SS release lane API is called until next USB able disconnect.

Change-Id: Iaae8b4e39ec8695e0204b83d9292cd3efa4af310
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2020-05-28 19:56:17 -07:00
Yuanfang Zhang
376a008159 memory_dump: resolve the issue of configuring core_reg_numer
When the new core_reg_number value is the same as previous value,
writing to core_reg_number node cannot exit normally, this
change resolve this issue.

Change-Id: I6cbb301fc77a630aa9f01a68341c9510fdbd5c0f
Signed-off-by: Yuanfang Zhang <zhangyuanfang@codeaurora.org>
2020-05-29 10:26:35 +08:00
Bhaumik Bhatt
48dcddd380 mhi: core: Do a null pointer check before reading debug registers
Not all registers can be set while dumping debug registers depending
on the state of the device. For example, wake doorbell is not set
until a READY state of the device is reached. Hence, we could access
a NULL pointer while dumping debug registers. Avoid this by adding a
check to skip the addresses which are not yet set.

Change-Id: Iccf275705d87023613ad3ab0c2ab53bad7ab912a
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-05-28 17:05:15 -07:00
David Collins
29c128cfd2 regulator: core: avoid deadlock in QTI addition to regulator_unregister()
regulator_unregister() calls rdev_free_qti_debugfs() with the
regulator_list_mutex held.  rdev_free_qti_debugfs() then calls
regulator_put() which attempts to lock regulator_list_mutex again.
This leads to deadlock.

Modify regulator_unregister() and rdev_free_qti_debugfs() so that
mutex deadlock cannot occur.

Change-Id: I12bb4c704f7d9332e790c707aba854e224474bdb
Signed-off-by: David Collins <collinsd@codeaurora.org>
2020-05-28 17:02:13 -07:00
Saravana Kannan
2f41feec85 FROMGIT: driver core: Update device link status correctly for SYNC_STATE_ONLY links
When SYNC_STATE_ONLY support was added in commit 05ef983e0d65 ("driver
core: Add device link support for SYNC_STATE_ONLY flag"),
SYNC_STATE_ONLY links were treated similar to STATELESS links in terms
of not blocking consumer probe if the supplier hasn't probed yet.

That caused a SYNC_STATE_ONLY device link's status to not get updated.
Since SYNC_STATE_ONLY device link is no longer useful once the
consumer probes, commit 21c27f06587d ("driver core: Fix
SYNC_STATE_ONLY device link implementation") addresses the status
update issue by deleting the SYNC_STATE_ONLY device link instead of
complicating the status update code.

However, there are still some cases where we need to update the status
of a SYNC_STATE_ONLY device link. This is because a SYNC_STATE_ONLY
device link can later get converted into a normal MANAGED device link
when a normal MANAGED device link is created between a supplier and
consumer that already have a SYNC_STATE_ONLY device link between them.

If a SYNC_STATE_ONLY device link's status isn't maintained correctly
till it's converted to a normal MANAGED device link, then the normal
MANAGED device link will end up with a wrong link status. This can cause
a warning stack trace[1] when the consumer device probes successfully.

This commit fixes the SYNC_STATE_ONLY device link status update issue
where it wouldn't transition correctly from DL_STATE_DORMANT or
DL_STATE_AVAILABLE to DL_STATE_CONSUMER_PROBE. It also resets the status
back to DL_STATE_DORMANT or DL_STATE_AVAILABLE if the consumer probe
fails.

[1] - https://lore.kernel.org/lkml/20200522204120.3b3c9ed6@apollo/
Fixes: 05ef983e0d65 ("driver core: Add device link support for SYNC_STATE_ONLY flag")
Fixes: 21c27f06587d ("driver core: Fix SYNC_STATE_ONLY device link implementation")
Reported-by: Michael Walle <michael@walle.cc>
Tested-by: Michael Walle <michael@walle.cc>
Signed-off-by: Saravana Kannan <saravanak@google.com>
Reviewed-by: Rafael J. Wysocki <rrafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/20200526220928.49939-1-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 8c3e315d4296421cd26b3300ee0ac117f0877f20
 https: //git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git driver-core-next)
Bug: 157103558
Signed-off-by: Saravana Kannan <saravanak@google.com>
Change-Id: I2885b65d2bbea5b55ac438d933b31b679817bd06
2020-05-28 21:46:38 +00:00
Saravana Kannan
b57a0e1131 UPSTREAM: driver core: Fix handling of SYNC_STATE_ONLY + STATELESS device links
Commit 21c27f06587d ("driver core: Fix SYNC_STATE_ONLY device link
implementation") didn't completely fix STATELESS + SYNC_STATE_ONLY
handling.

What looks like an optimization in that commit is actually a bug that
causes an if condition to always take the else path. This prevents
reordering of devices in the dpm_list when a DL_FLAG_STATELESS device
link is create on top of an existing DL_FLAG_SYNC_STATE_ONLY device
link.

Fixes: 21c27f06587d ("driver core: Fix SYNC_STATE_ONLY device link implementation")
Signed-off-by: Saravana Kannan <saravanak@google.com>
Cc: stable <stable@vger.kernel.org>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/20200520043626.181820-1-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 44e960490ddf868fc9135151c4a658936e771dc2)
Bug: 157103558
Signed-off-by: Saravana Kannan <saravanak@google.com>
Change-Id: I6cd908eb4b29b1058018bfb906cb508fb3ca710f
2020-05-28 21:45:39 +00:00
Saravana Kannan
5a46cfebe8 UPSTREAM: driver core: Fix SYNC_STATE_ONLY device link implementation
When SYNC_STATE_ONLY support was added in commit 05ef983e0d65 ("driver
core: Add device link support for SYNC_STATE_ONLY flag"),
device_link_add() incorrectly skipped adding the new SYNC_STATE_ONLY
device link to the supplier's and consumer's "device link" list.

This causes multiple issues:
- The device link is lost forever from driver core if the caller
  didn't keep track of it (caller typically isn't expected to). This is
  a memory leak.
- The device link is also never visible to any other code path after
  device_link_add() returns.

If we fix the "device link" list handling, that exposes a bunch of
issues.

1. The device link "status" state management code rightfully doesn't
handle the case where a DL_FLAG_MANAGED device link exists between a
supplier and consumer, but the consumer manages to probe successfully
before the supplier. The addition of DL_FLAG_SYNC_STATE_ONLY links break
this assumption. This causes device_links_driver_bound() to throw a
warning when this happens.

Since DL_FLAG_SYNC_STATE_ONLY device links are mainly used for creating
proxy device links for child device dependencies and aren't useful once
the consumer device probes successfully, this patch just deletes
DL_FLAG_SYNC_STATE_ONLY device links once its consumer device probes.
This way, we avoid the warning, free up some memory and avoid
complicating the device links "status" state management code.

2. Creating a DL_FLAG_STATELESS device link between two devices that
already have a DL_FLAG_SYNC_STATE_ONLY device link will result in the
DL_FLAG_STATELESS flag not getting set correctly. This patch also fixes
this.

Lastly, this patch also fixes minor whitespace issues.

Cc: stable@vger.kernel.org
Fixes: 05ef983e0d65 ("driver core: Add device link support for SYNC_STATE_ONLY flag")
Signed-off-by: Saravana Kannan <saravanak@google.com>
Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://lore.kernel.org/r/20200519063000.128819-1-saravanak@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 21c27f06587d2c18150d27ca2382a509ec55c482)
Bug: 157103558
Signed-off-by: Saravana Kannan <saravanak@google.com>
Change-Id: Icb091de185c7efbb7db0ec86267675ac0472f379
2020-05-28 21:45:07 +00:00
Chris Lew
5b40b16f3c net: qrtr: Allocate workqueue before kernel_bind
A null pointer dereference in qrtr_ns_data_ready() is seen if a client
opens a qrtr socket before qrtr_ns_init() can bind to the control port.
When the control port is bound, the ENETRESET error will be broadcasted
and clients will close their sockets. This results in DEL_CLIENT
packets being sent to the ns and qrtr_ns_data_ready() being called
without the workqueue being allocated.

Allocate the workqueue before setting sk_data_ready and binding to the
control port. This ensures that the work and workqueue structs are
allocated and initialized before qrtr_ns_data_ready can be called.

Change-Id: Ib20aec56414789905ccd80a91290fca9e3c29ead
Signed-off-by: Chris Lew <clew@codeaurora.org>
2020-05-28 14:20:36 -07:00
Guru Das Srinagesh
6d56178cb7 pwm: qti-lpg: Adapt to two-nvmem PBS triggering scheme
PM8350C PWM PPG does away with the need to directly manage the PBS
triggering via the PBS driver APIs by using a single register write to
an SDAM register instead. A PBS sequence thus triggered should be duly
cleared before next use. The existing scheme is also retained for
backward compatibility with targets that use a single-nvmem scheme.

The new PBS triggering scheme also expects a change in the way the high
and low indices pertaining to the pattern are specified.

Change-Id: I7d07dc611f98ce32cf5e8ba7de758fbbc3513f4b
Signed-off-by: Guru Das Srinagesh <gurus@codeaurora.org>
2020-05-28 13:38:17 -07:00
Konstantin Dorfman
49de023c2f soc: qcom: spcom: add channel name for each txn_id print
This change add printing of the channel name for each
sequence number print.

Change-Id: I7a5e5ac57eba9d637d48387849f1ba915096215b
Signed-off-by: Konstantin Dorfman <kdorfman@codeaurora.org>
2020-05-28 06:37:24 -07:00
Greg Kroah-Hartman
f7b4f375c7 This is the 5.4.43 stable release
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAl7Oi20ACgkQONu9yGCS
 aT4ipBAA1Kqh2mLEcDBISubrU4CuOl/iHmkCXyF1FeF9+vJKz25whbfYO/FNYweP
 2HYxGyuqLTQ0OnsfrXeEoImlxdAcWp3TjAFPgJdonLBvnVDmvlPe6Pzk1NRPhvce
 zU/Y1leE+LoQ7xDfICPJ9BwuwwYTRzRqMQHmIuVlsHLSiN+rextPj6vkzD+7h4ux
 i9VKoDvzmWuLrHmc9RYNoGxuZ5tGogBaCxI8tnzHGcm21bNVvsKZiANQ2J+6G2bJ
 sJwqq5tH2gZ6cJxmJ1tVyMbXLIJanNKLeBC5sDQN4rss9pU4gtyEARqVG+9RlglQ
 FeSlBuoaISJYYejo6aSH7nw81bTQrXexd0sH94qYqnqPlZo+OXN8vxHTaIapYEfd
 fjqyEblZXqpnMNVQcZOxbrYaefuIrZ9Q8pWUFTwVj34P8RNJLBIvg5gy2dlRvHbC
 PGLJewOXySZaXVpD5gFU349L32d4QPw9MmMU5php+LOl4idN8RlVY0pOaUuO0idH
 ewO+6vijLgHq/5HBO6BBToRlNUvLauoUeAaQwoHfPiuuYnGGFCZ9GEjPRsHnCBok
 IAKQ2Uj+IqlMy7gKVtG1ryekil7TVktrZQ1JBokRLWQPZiED84r7P1lQqPaH/4f4
 GFFRhx3tekJs4LMMUEaUR019Q9ZcQMWkikT1/HpVOYUjQd55pc4=
 =jmiq
 -----END PGP SIGNATURE-----

Merge 5.4.43 into android-5.4-stable

Changes in 5.4.43
	i2c: dev: Fix the race between the release of i2c_dev and cdev
	KVM: SVM: Fix potential memory leak in svm_cpu_init()
	ima: Set file->f_mode instead of file->f_flags in ima_calc_file_hash()
	evm: Check also if *tfm is an error pointer in init_desc()
	ima: Fix return value of ima_write_policy()
	ubifs: fix wrong use of crypto_shash_descsize()
	ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive
	mtd: spinand: Propagate ECC information to the MTD structure
	fix multiplication overflow in copy_fdtable()
	ubifs: remove broken lazytime support
	i2c: fix missing pm_runtime_put_sync in i2c_device_probe
	iommu/amd: Fix over-read of ACPI UID from IVRS table
	evm: Fix a small race in init_desc()
	i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()'
	ubi: Fix seq_file usage in detailed_erase_block_info debugfs file
	afs: Don't unlock fetched data pages until the op completes successfully
	mtd: Fix mtd not registered due to nvmem name collision
	kbuild: avoid concurrency issue in parallel building dtbs and dtbs_check
	net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report()
	gcc-common.h: Update for GCC 10
	HID: multitouch: add eGalaxTouch P80H84 support
	HID: alps: Add AUI1657 device ID
	HID: alps: ALPS_1657 is too specific; use U1_UNICORN_LEGACY instead
	scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV
	scsi: qla2xxx: Delete all sessions before unregister local nvme port
	configfs: fix config_item refcnt leak in configfs_rmdir()
	vhost/vsock: fix packet delivery order to monitoring devices
	aquantia: Fix the media type of AQC100 ethernet controller in the driver
	component: Silence bind error on -EPROBE_DEFER
	net/ena: Fix build warning in ena_xdp_set()
	scsi: ibmvscsi: Fix WARN_ON during event pool release
	HID: i2c-hid: reset Synaptics SYNA2393 on resume
	x86/mm/cpa: Flush direct map alias during cpa
	ibmvnic: Skip fatal error reset after passive init
	ftrace/selftest: make unresolved cases cause failure if --fail-unresolved set
	x86/apic: Move TSC deadline timer debug printk
	gtp: set NLM_F_MULTI flag in gtp_genl_dump_pdp()
	HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock
	ceph: fix double unlock in handle_cap_export()
	stmmac: fix pointer check after utilization in stmmac_interrupt
	USB: core: Fix misleading driver bug report
	platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA
	iommu/amd: Call domain_flush_complete() in update_domain()
	drm/amd/display: Prevent dpcd reads with passive dongles
	KVM: selftests: Fix build for evmcs.h
	ARM: futex: Address build warning
	scripts/gdb: repair rb_first() and rb_last()
	ALSA: hda - constify and cleanup static NodeID tables
	ALSA: hda: patch_realtek: fix empty macro usage in if block
	ALSA: hda: Manage concurrent reg access more properly
	ALSA: hda/realtek - Add supported new mute Led for HP
	ALSA: hda/realtek - Add HP new mute led supported for ALC236
	ALSA: hda/realtek: Add quirk for Samsung Notebook
	ALSA: hda/realtek - Enable headset mic of ASUS GL503VM with ALC295
	ALSA: hda/realtek - Enable headset mic of ASUS UX550GE with ALC295
	ALSA: hda/realtek: Enable headset mic of ASUS UX581LV with ALC295
	KVM: x86: Fix pkru save/restore when guest CR4.PKE=0, move it to x86.c
	ALSA: iec1712: Initialize STDSP24 properly when using the model=staudio option
	ALSA: pcm: fix incorrect hw_base increase
	ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Xtreme
	ALSA: hda/realtek - Add more fixup entries for Clevo machines
	scsi: qla2xxx: Do not log message when reading port speed via sysfs
	scsi: target: Put lun_ref at end of tmr processing
	arm64: Fix PTRACE_SYSEMU semantics
	drm/etnaviv: fix perfmon domain interation
	apparmor: Fix use-after-free in aa_audit_rule_init
	apparmor: fix potential label refcnt leak in aa_change_profile
	apparmor: Fix aa_label refcnt leak in policy_update
	dmaengine: tegra210-adma: Fix an error handling path in 'tegra_adma_probe()'
	drm/etnaviv: Fix a leak in submit_pin_objects()
	dmaengine: dmatest: Restore default for channel
	dmaengine: owl: Use correct lock in owl_dma_get_pchan()
	vsprintf: don't obfuscate NULL and error pointers
	drm/i915/gvt: Init DPLL/DDI vreg for virtual display instead of inheritance.
	drm/i915: Propagate error from completed fences
	powerpc: Remove STRICT_KERNEL_RWX incompatibility with RELOCATABLE
	powerpc/64s: Disable STRICT_KERNEL_RWX
	bpf: Avoid setting bpf insns pages read-only when prog is jited
	kbuild: Remove debug info from kallsyms linking
	Revert "gfs2: Don't demote a glock until its revokes are written"
	media: fdp1: Fix R-Car M3-N naming in debug message
	staging: iio: ad2s1210: Fix SPI reading
	staging: kpc2000: fix error return code in kp2000_pcie_probe()
	staging: greybus: Fix uninitialized scalar variable
	iio: sca3000: Remove an erroneous 'get_device()'
	iio: dac: vf610: Fix an error handling path in 'vf610_dac_probe()'
	iio: adc: ti-ads8344: Fix channel selection
	misc: rtsx: Add short delay after exit from ASPM
	tty: serial: add missing spin_lock_init for SiFive serial console
	mei: release me_cl object reference
	ipack: tpci200: fix error return code in tpci200_register()
	s390/pci: Fix s390_mmio_read/write with MIO
	s390/kaslr: add support for R_390_JMP_SLOT relocation type
	device-dax: don't leak kernel memory to user space after unloading kmem
	rapidio: fix an error in get_user_pages_fast() error handling
	kasan: disable branch tracing for core runtime
	rxrpc: Fix the excessive initial retransmission timeout
	rxrpc: Fix a memory leak in rxkad_verify_response()
	s390/kexec_file: fix initrd location for kdump kernel
	flow_dissector: Drop BPF flow dissector prog ref on netns cleanup
	x86/unwind/orc: Fix unwind_get_return_address_ptr() for inactive tasks
	iio: adc: stm32-adc: Use dma_request_chan() instead dma_request_slave_channel()
	iio: adc: stm32-adc: fix device used to request dma
	iio: adc: stm32-dfsdm: Use dma_request_chan() instead dma_request_slave_channel()
	iio: adc: stm32-dfsdm: fix device used to request dma
	rxrpc: Trace discarded ACKs
	rxrpc: Fix ack discard
	tpm: check event log version before reading final events
	sched/fair: Reorder enqueue/dequeue_task_fair path
	sched/fair: Fix reordering of enqueue/dequeue_task_fair()
	sched/fair: Fix enqueue_task_fair() warning some more
	Linux 5.4.43

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1582df67569f34c4455c482ed0eaf10fc1a34e03
2020-05-28 12:26:15 +02:00
Gaurav Singhal
a890169846 NFC: Add support for LDO voting
Vote for LDO regulator during probe() if LDO related
properties are present in the device tree otherwise
we will avoid LDO configuration as it's optional.

Configure VEN gpio low and unvote for LDO during driver unloading.

Change-Id: I36ecdc5cef5afb6ddb0ef6ea4db6e745e567ab7b
Signed-off-by: Gaurav Singhal <gsinghal@codeaurora.org>
2020-05-28 14:47:22 +05:30
Bhaumik Bhatt
419686cc96 mhi: core: Enable both time synchronization methods to co-exist
Due to co-existence of both time synchronization methods on a
platform, it is likely that a doorbell method response can be pending
while another host client requests for time using the MMIO or
synchronous method. Wait for completion of the doorbell method and
return the local and remote times from that request as the device may
not be able to handle both requests or host is likely to end up reading
corrupted time values. Also, ensure the doorbell method request is done
while holding the bus vote so the host stays awake and receives the
response as soon as possible.

Change-Id: If876905eb523fd65f3758f13b75c035de4108d8d
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-05-27 19:15:51 -07:00
Bhaumik Bhatt
453fb4d199 mhi: core: improve time synchronization events handling
Validate event ring accesses before walking special event rings and
update processing time synchronization such that a doorbell is rung and
future requests are queued until a response is received. Also, ensure
events are only processed when they are pending.

Change-Id: Ib8c9385530f822af3e53efb96b82c0f26c3438b7
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-05-27 19:14:42 -07:00
Bhaumik Bhatt
16caf4dcb7 mhi: core: block fast suspends on controller device bus vote
Currently only a pending packets check is used to block fast
suspends. Since it does not exactly reflect what the core
driver intends to do, allow a bus vote to the controller device
to block fast suspends as well.

Change-Id: I31266d296e855027f6b49b2dcfe4606bb48ac221
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
2020-05-27 19:11:27 -07:00
qctecmdr
e1bdeb4100 Merge "ASoC: pcm: QGKI startup sequence for playback and capture" 2020-05-27 18:54:59 -07:00
qctecmdr
cdda674ede Merge "sched: walt: Improve the scheduler" 2020-05-27 18:54:59 -07:00
qctecmdr
f7d26b82cb Merge "bluetooth: add support for retrieving power resource values" 2020-05-27 18:54:59 -07:00
qctecmdr
0fdab7244a Merge "usb: dwc3: gadget: Rate limit ep_queue() error message" 2020-05-27 18:54:58 -07:00
qctecmdr
ac8999b71b Merge "Kconfig: Add menu choice option to reclaim virtual memory" 2020-05-27 18:54:58 -07:00
qctecmdr
fdb9672509 Merge "soc: altmode: Detect when remote subsys fails to respond" 2020-05-27 18:54:58 -07:00
qctecmdr
105ee3f8c1 Merge "aarch64: ABI: add symbols to qcom whitelist" 2020-05-27 18:54:58 -07:00