Seth Forshee [Mon, 7 Jan 2019 22:04:05 +0000 (16:04 -0600)]
UBUNTU: [Config] CONFIG_RTLWIFI_DEBUG_ST=n
BugLink: https://bugs.launchpad.net/bugs/1806472
This is very similar to the CONFIG_RTLWIFI_DEBUG option for the
non-staging driver, and since that is disabled it should also be
disabled in the staging driver, especially now that the staging
driver will be signed.
Kai-Heng Feng [Thu, 6 Dec 2018 07:00:41 +0000 (15:00 +0800)]
UBUNTU: SAUCE: Add r8822be to signature inclusion list
BugLink: https://bugs.launchpad.net/bugs/1806472
r8822be is sent and maintained by pkshih@realtek.com, so it's in a good
shape. Let's add it to signature inclusion list.
Seth Forshee [Mon, 14 Jan 2019 16:12:44 +0000 (10:12 -0600)]
UBUNTU: SAUCE: selftests: disable some failing networking tests
The test_bpf.sh and psock_snd.sh network selftests are failing.
These are not new failures, as they also fail in cosmic's 4.18
kernel, however they are now causing failures in ADT. Disable
the tests temporarily until we have fixes.
Kai-Heng Feng [Mon, 3 Dec 2018 06:27:20 +0000 (14:27 +0800)]
UBUNTU: SAUCE: (noup) USB: usb-storage: Make MMC support optional on ums-realtek
BugLink: https://bugs.launchpad.net/bugs/1806335
Hardware vendors may not pay the MMC royalty, so MMC support needs to be
disabled on Ubuntu pre-installed hardwares.
The current approach is to use an out-of-tree module to disable MMC
support, but it's hard to maintain and it disables secure boot.
Use a new knob "enable_mmc" to enable/disable mmc support, so
pre-installed systems can easily turn MMC off.
Realtek doesn't want this feature in mainline kernel, but they are okay
to have this in Ubuntu's kernel. So let's have it here.
AceLan Kao [Thu, 29 Nov 2018 06:02:12 +0000 (14:02 +0800)]
UBUNTU: SAUCE: ath10k: provide reset function for QCA9377 chip
BugLink: https://bugs.launchpad.net/bugs/1805607
The reset function helps with the S5 power consumption, make the power
consumption reduce from 0.52W to 0.23W at S5.
Andy Whitcroft [Fri, 19 Oct 2018 16:44:53 +0000 (16:44 +0000)]
UBUNTU: SAUCE: overlayfs: ensure mounter privileges when reading directories
BugLink: https://launchpad.net/bugs/1793458
When reading directory contents ensure the mounter has permissions for
the operation over the constituent parts (lower and upper). Where we are
in a namespace this ensures that the mounter (root in that namespace)
has permissions over the files and directories, preventing exposure of
protected files and directory contents.
CVE-2018-6559
Signed-off-by: Andy Whitcroft <apw@canonical.com>
[tyhicks: make use of new upstream check in ovl_permission() for copy-ups]
[tyhicks: make use of creator (mounter) creds hanging off the super block] Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
AceLan Kao [Thu, 29 Nov 2018 07:44:25 +0000 (15:44 +0800)]
UBUNTU: SAUCE: pci/nvme: prevent WDC PC SN720 NVMe from entering D3 and being disabled
BugLink: https://bugs.launchpad.net/bugs/1805775
It leads to the power consumption increases 3.41W during s2idle, while it
consumes much less idle if forbidding put WDC NVMe to D3 and before
entering S2Idle.
Windows doesn't put NVMe to D3 in Modern Standby, and uses its own APST
feature to do the power management. To leverage its APST feature during
s2idle, we can't disable nvme device while suspending, too.
So, here is what we do to the driver:
- Prevent nvme from entering D3,
- Prevent nvme from being disabled when suspending.
Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Kai-Heng Feng [Thu, 22 Nov 2018 07:15:11 +0000 (07:15 +0000)]
UBUNTU: SAUCE: nvme: add quirk to not call disable function when suspending
BugLink: https://bugs.launchpad.net/bugs/1804588
Call nvme_dev_disable() function leads to the power consumption goes up
to 2.8 Watt during suspend-to-idle, and from Intel FE, they suggest us
to use its own APST feature to do the power management during s2idle.
After D3 is diabled and nvme_dev_disable() is not called while
suspending, the power consumption drops 2.8 Watts during s2idle.
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
[ saf: resolve conflicts when rebasing to 5.0 ] Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Kai-Heng Feng [Thu, 22 Nov 2018 07:15:09 +0000 (07:15 +0000)]
UBUTU: SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3
BugLink: https://bugs.launchpad.net/bugs/1804588
It leads to the power consumption increases 2.8W during s2idle, while it
consumes much less idle if forbidding put Intel NVMe to D3 and before
entering S2Idle.
Windows doesn't put NVMe to D3 in Modern Standby, and uses its own APST
feature to do the power management. To leverage its APST feature during
s2idle, we can't disable nvme device while suspending, too.
So, here is what we do to the driver:
- Prevent nvme from entering D3,
- Prevent nvme from being disabled when suspending.
UBUNTU: SAUCE: x86/quirks: Scan all busses for early PCI quirks
BugLink: https://bugs.launchpad.net/bugs/1797990
Recently was noticed in an HP GEN9 system that kdump couldn't succeed
due to an irq storm coming from an Intel NIC, narrowed down to be lack
of clearing the MSI/MSI-X enable bits during the kdump kernel boot.
For that, we need an early quirk to manually turn off MSI/MSI-X for
PCI devices - this was worked as an optional boot parameter in a
(~subsequent~) previous patch.
Problem is that in our test system, the Intel NICs were not present in
any secondary bus under the first PCIe root complex, so they couldn't
be reached by the recursion in check_dev_quirk(). Modern systems,
specially with multi-processors and multiple NUMA nodes expose multiple
root complexes, describing more than one PCI hierarchy domain. Currently
the simple recursion present in the early-quirks code from x86 starts a
descending recursion from bus 0000:00, and reach many other busses by
navigating this hierarchy walking through the bridges. This is not
enough in systems with more than one root complex/host bridge, since
the recursion won't "traverse" to other root complexes by starting
statically in 0000:00 (for more details, see [0]).
This patch hence implements the full bus/device/function scan in
early_quirks(), by checking all possible busses instead of using a
recursion based on the first root bus or limiting the search scope to
the first 32 busses (like it was done in the beginning [1]).
[1] From historical perspective, early PCI scan dates back
to BitKeeper, added by Andi Kleen's "[PATCH] APIC fixes for x86-64",
on October/2003. It initially restricted the search to the first
32 busses and slots.
Due to a potential bug found in Nvidia chipsets, the scan
was changed to run only in the first root bus: see
commit 8659c406ade3 ("x86: only scan the root bus in early PCI quirks")
Finally, secondary busses reachable from the 1st bus were re-added back by:
commit 850c321027c2 ("x86/quirks: Reintroduce scanning of secondary buses")
Reported-by: Dan Streetman <ddstreet@canonical.com> Signed-off-by: Guilherme G. Piccoli <gpiccoli@canonical.com>
[mfo: v2:
- gate the bus-scan differences with the cmdline option.
- update changelog: subsequent/previous patch.] Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
UBUNTU: SAUCE: x86/quirks: Add parameter to clear MSIs early on boot
BugLink: https://bugs.launchpad.net/bugs/1797990
We observed a kdump failure in x86 that was narrowed down to MSI irq
storm coming from a PCI network device. The bug manifests as a lack of
progress in the boot process of kdump kernel, and a flood of kernel
messages like:
[...]
[ 342.265294] do_IRQ: 0.155 No irq handler for vector
[ 342.266916] do_IRQ: 0.155 No irq handler for vector
[ 347.258422] do_IRQ: 14053260 callbacks suppressed
[...]
The root cause of the issue is that kexec process of the kdump kernel
doesn't ensure PCI devices are reset or MSI capabilities are disabled,
so a PCI adapter could produce a huge amount of irqs which would steal
all the processing time for the CPU (specially since we usually restrict
kdump kernel to use a single CPU only).
This patch implements the kernel parameter "pci=clearmsi" to clear the
MSI/MSI-X enable bits in the Message Control register for all PCI devices
during early boot time, thus preventing potential issues in the kexec'ed
kernel. PCI spec also supports/enforces this need (see PCI Local Bus
spec sections 6.8.1.3 and 6.8.2.3).
Suggested-by: Dan Streetman <ddstreet@canonical.com> Suggested-by: Gavin Shan <shan.gavin@linux.alibaba.com> Signed-off-by: Guilherme G. Piccoli <gpiccoli@canonical.com> Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
UBUNTU: SAUCE: x86/PCI: Export find_cap() to be used in early PCI code
BugLink: https://bugs.launchpad.net/bugs/1797990
This patch exports (and renames) the function find_cap() to be used
in the early PCI quirk code, by the next patch.
This is being moved out from AGP code to generic early-PCI code
since it's not AGP-specific and can be used for any PCI device.
No functional changes intended.
Signed-off-by: Guilherme G. Piccoli <gpiccoli@canonical.com> Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
AceLan Kao [Tue, 6 Nov 2018 10:53:14 +0000 (18:53 +0800)]
UBUNTU: SAUCE: nvme: add quirk to not call disable function when suspending
BugLink: https://bugs.launchpad.net/bugs/1801875
Call nvme_dev_disable() function leads to the power consumption goes
up to 2.2 Watt during suspend-to-idle, and from SK hynix FE, they
suggest us to use its own APST feature to do the power management during
s2idle.
After D3 is diabled and nvme_dev_disable() is not called while
suspending, the power consumption drops to 0.77 Watt during s2idle.
Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
AceLan Kao [Tue, 6 Nov 2018 10:53:13 +0000 (18:53 +0800)]
UBUNTU: SAUCE: pci: prevent sk hynix nvme from entering D3
BugLink: https://bugs.launchpad.net/bugs/1801875
It leads to the power consumption raises to 2.2W during s2idle, while
it consumes less than 1W during long idle if put SK hynix nvme to D3
and then enter s2idle.
From SK hynix FE, MS Windows doesn't put nvme to D3, and uses its own
APST feature to do the power management.
To leverage its APST feature during s2idle, we can't disable nvme
device while suspending, too.
BTW, prevent it from entering D3 will increase the power consumtion around
0.13W ~ 0.15W during short/long idle, and the power consumption during
s2idle becomes 0.77W.
Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
AceLan Kao [Thu, 20 Sep 2018 08:41:14 +0000 (16:41 +0800)]
UBUNTU: SAUCE: platform/x86: dell-uart-backlight: new backlight driver for DELL AIO
BugLink: https://bugs.launchpad.net/bugs/1727235
The Dell AIO machines released after 2017 come with a UART interface
to communicate with the backlight scalar board. This driver creates
a standard backlight interface and talks to the scalar board through
UART.
In DSDT this uart port will be defined as
Name (_HID, "DELL0501")
Name (_CID, EisaId ("PNP0501")
The 8250 PNP driver will be loaded by default, and this driver uses
"DELL0501" to confirm the uart port is a backlight interface and
leverage the port created by 8250 PNP driver to communicate with
the scalar board.
v2:
1. move struct uart_cmd to .c file
2. make dell_uart_get_bl_power() inline
3. add space to ternary operator "bl_cmd->cmd[2] = power ? 0 : 1;"
4. check return value of kzalloc()
5. add kzfree()
6. check return value of backlight_device_register()
7. check return value of filp_open() at init
v3:
1. Fix compiling warning.
v4:
1. make *tty and *ftty static
2. bl_cmd->ret[0] will never be less than 0, fixed the if statement
3. fix some line over 80 chars warnings.
Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Colin Ian King <colin.king@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
UBUNTU: SAUCE: cachefiles: Page leaking in cachefiles_read_backing_file while vmscan is active
BugLink: https://bugs.launchpad.net/bugs/1793430
[Description]
In a heavily loaded system where the system pagecache is nearing memory limits and fscache is enabled,
pages can be leaked by fscache while trying read pages from cachefiles backend.
This can happen because two applications can be reading same page from a single mount,
two threads can be trying to read the backing page at same time. This results in one of the thread
finding that a page for the backing file or netfs file is already in the radix tree. During the error
handling cachefiles does not cleanup the reference on backing page, leading to page leak.
[Fix]
The fix is straightforward, to decrement the reference when error is encounterd.
[Testing]
I have tested the fix using following method for 12+ hrs.
1) mkdir -p /mnt/nfs ; mount -o vers=3,fsc <server_ip>:/export /mnt/nfs
2) create 10000 files of 2.8MB in a NFS mount.
3) start a thread to simulate heavy VM presssure
(while true ; do echo 3 > /proc/sys/vm/drop_caches ; sleep 1 ; done)&
4) start multiple parallel reader for data set at same time
find /mnt/nfs -type f | xargs -P 80 cat > /dev/null &
find /mnt/nfs -type f | xargs -P 80 cat > /dev/null &
find /mnt/nfs -type f | xargs -P 80 cat > /dev/null &
..
..
find /mnt/nfs -type f | xargs -P 80 cat > /dev/null &
find /mnt/nfs -type f | xargs -P 80 cat > /dev/null &
5) finally check using cat /proc/fs/fscache/stats | grep -i pages ;
free -h , cat /proc/meminfo and page-types -r -b lru
to ensure all pages are freed.
Reviewed-by: Daniel Axtens <dja@axtens.net> Signed-off-by: Shantanu Goel <sgoel01@yahoo.com> Signed-off-by: Kiran Kumar Modukuri <kiran.modukuri@gmail.com>
[dja: forward ported to current upstream] Signed-off-by: Daniel Axtens <dja@axtens.net>
[applied from
https://www.redhat.com/archives/linux-cachefs/2018-September/msg00002.html
This is v3 of the patch. v2 has sat on the list for weeks without
any response or forward progress. v1 was first posted in 2014 and
was reposted this August.] Signed-off-by: Daniel Axtens <daniel.axtens@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Andy Whitcroft [Wed, 12 Sep 2018 08:50:46 +0000 (09:50 +0100)]
UBUNTU: SAUCE: vfio -- release device lock before userspace requests
During a hotplug event vfio_pci_remove() will call
vfio_del_group_dev() to release the device group. This may trigger
a userspace request. Currently this userspace request is performed
while holding the device lock. This leads userspace to deadlock
against it while trying to perform the requested cleanup.
Drop the device lock while the userspace request is in flight.
After it completes reaquire the lock and revalidate the device as
it may have been successfully removed by a concurrent operation.
As the remove callback may now drop the lock also check and
revalidation at the end of that operation.
BugLink: http://bugs.launchpad.net/bugs/1792099 Signed-off-by: Andy Whitcroft <apw@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Acked-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Seth Forshee [Mon, 26 Feb 2018 21:32:55 +0000 (15:32 -0600)]
UBUNTU: SAUCE: tools: use CC for linking acpi tools
Prior to 7ed1c1901fe5 ("tools: fix cross-compile var clobbering")
the acpi tools makefiles were using gcc for linking. That commit
causes ld to be used instead, however this doesn't work as the
flags supplied are meant for gcc and not ld. Change the acpi
tools rules to use $(QUIET_LINK)$(CC) for linking to fix this
regression.
Seth Forshee [Tue, 28 Aug 2018 15:57:44 +0000 (10:57 -0500)]
UBUNTU: SAUCE: Revert "vti6: fix PMTU caching and reporting on xmit"
BugLink: https://bugs.launchpad.net/bugs/1789436
The net/pmtu.sh self test is hanging due to a dangling reference
to a veth device which prevents module unload. We haven't yet
determined the root cause, but given that the problem being fixed
was introduced in 4.1 it should be safe to revert the change as a
temporary measure. So temporarily revert commit d6990976af7c5d8f55903bfb4289b6fb030bf754 until we have a better
fix.
Modify the Kconfig to adress that, so it won't break on architectures
that don't support ACPI.
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Acked-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Acked-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base
BugLink: https://bugs.launchpad.net/bugs/1773940
"Unable to handle kernel paging request" occurs at this line of code:
privdata->eventval.buf[i] = readdata;
The pointer "buf" in union "i2c_event_base" will change its value as
soon as any union member gets modified. We can observe this behaviour in
amd_mp2_irq_isr(). This makes buf points to the wrong place, and causes
the trouble we saw when it gets accessed.
Put pointer inside union is not a good idea, so refactor the structure
to make sure the pointer and the union do not overlap.
Also remove the NULL check for eventval.buf, as its value comes from
read_cfg.buf.
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Acked-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Acked-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for upcoming platform
BugLink: https://bugs.launchpad.net/bugs/1773940
Added fix for suspend resume and touchpad lost issue
Added fix for IOMMU
This contains two drivers.
1)i2c-amd-platdrv: This is based on I2C framework of
linux kernel. So any i2c read write call or commands
to this driver is routed to PCI Interface driver.
2) i2c-amd-platdrv: This driver is responsible to
talk with Mp2 and does all C2P/P2C communication
or reading/writing from DRAM in case of more
data.
Reviewed-by: S-k, Shyam-sundar <Shyam-sundar.S-k@amd.com> Reviewed-by: Sandeep Singh <sandeep.singh@amd.com> Signed-off-by: Nehal-bakulchandra Shah <Nehal-bakulchandra.Shah@amd.com> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> Acked-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Acked-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
The apparmor policy language current does not allow expressing of the
locking permission for no-fs unix sockets. However the kernel is
enforcing mediation.
Add the AA_MAY_LOCK perm to the computed perm mask which will grant
permission for all current abi profiles, but still allow specifying
auditing of the operation if needed.
BugLink: http://bugs.launchpad.net/bugs/1780227 Signed-off-by: John Johansen <john.johansen@canonical.com> Acked-by: Acked-by: Stefan Bader <stefan.bader@canonical.com> Acked-by: Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Ben Hutchings [Wed, 4 Jul 2018 14:15:50 +0000 (16:15 +0200)]
UBUNTU: SAUCE: random: Make getrandom() ready earlier
This effectively reverts commit 725e828 "random: fix crng_ready()
test" which was commit 43838a23a05f upstream. Unfortunately some
users of getrandom() don't expect it to block for long, and they need
to be fixed before we can allow this change into stable.
This doesn't directly revert that commit, but only weakens the ready
condition used by getrandom() when the GRND_RANDOM flag is not set.
Calls to getrandom() that return before the RNG is fully seeded will
generate warnings, just like reads from /dev/urandom.
BugLink: https://bugs.launchpad.net/bugs/1780062
(backported from ://salsa.debian.org/kernel-team/linux/raw/stretch/debian/patches/debian/random-make-getrandom-ready-earlier.patch)
[smb: open code waiting in getrandom directly] Signed-off-by: Stefan Bader <stefan.bader@canonical.com> Acked-by: Colin Ian King <colin.king@canonical.com> Acked-by: Khaled Elmously <khalid.elmously@canonical.com> Acked-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
UBUNTU: SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is opened for writing
For unprivileged mounts to be safe the user must not be able to
make changes to the backing store while it is mounted. This patch
takes a step towards preventing this by refusing to mount in a
user namepspace if the block device is open for writing and
refusing attempts to open the block device for writing by non-
root while it is mounted in a user namespace.
To prevent this from happening we use i_writecount in the inodes
of the bdev filesystem similarly to how it is used for regular
files. Whenever the device is opened for writing i_writecount
is checked; if it is negative the open returns -EBUSY, otherwise
i_writecount is incremented. On mount, a positive i_writecount
results in mount_bdev returning -EBUSY, otherwise i_writecount
is decremented. Opens by root and mounts from init_user_ns do not
check nor modify i_writecount.
Seth Forshee [Tue, 9 Feb 2016 19:26:34 +0000 (13:26 -0600)]
UBUNTU: SAUCE: (namespace) ext4: Add module parameter to enable user namespace mounts
This is still an experimental feature, so disable it by default
and allow it only when the system administrator supplies the
userns_mounts=true module parameter.
Seth Forshee [Sat, 18 Oct 2014 11:02:09 +0000 (13:02 +0200)]
UBUNTU: SAUCE: (namespace) ext4: Add support for unprivileged mounts from user namespaces
Support unprivileged mounting of ext4 volumes from user
namespaces. This requires the following changes:
- Perform all uid, gid, and projid conversions to/from disk
relative to s_user_ns. In many cases this will already be
handled by the vfs helper functions. This also requires
updates to handle cases where ids may not map into s_user_ns.
A new helper, projid_valid_eq(), is added to help with this.
- Update most capability checks to check for capabilities in
s_user_ns rather than init_user_ns. These mostly reflect
changes to the filesystem that a user in s_user_ns could
already make externally by virtue of having write access to
the backing device.
- Restrict unsafe options in either the mount options or the
ext4 superblock. Currently the only concerning option is
errors=panic, and this is made to require CAP_SYS_ADMIN in
init_user_ns.
- Verify that unprivileged users have the required access to the
journal device at the path passed via the journal_path mount
option.
Note that for the journal_path and the journal_dev mount
options, and for external journal devices specified in the
ext4 superblock, devcgroup restrictions will be enforced by
__blkdev_get(), (via blkdev_get_by_dev()), ensuring that the
user has been granted appropriate access to the block device.
- Set the FS_USERNS_MOUNT flag on the filesystem types supported
by ext4.
sysfs attributes for ext4 mounts remain writable only by real
root.
Seth Forshee [Wed, 7 Oct 2015 19:53:33 +0000 (14:53 -0500)]
UBUNTU: SAUCE: (namespace) mtd: Check permissions towards mtd block device inode when mounting
Unprivileged users should not be able to mount mtd block devices
when they lack sufficient privileges towards the block device
inode. Update mount_mtd() to validate that the user has the
required access to the inode at the specified path. The check
will be skipped for CAP_SYS_ADMIN, so privileged mounts will
continue working as before.
Seth Forshee [Wed, 7 Oct 2015 19:49:47 +0000 (14:49 -0500)]
UBUNTU: SAUCE: (namespace) block_dev: Check permissions towards block device inode when mounting
Unprivileged users should not be able to mount block devices when
they lack sufficient privileges towards the block device inode.
Update blkdev_get_by_path() to validate that the user has the
required access to the inode at the specified path. The check
will be skipped for CAP_SYS_ADMIN, so privileged mounts will
continue working as before.
UBUNTU: SAUCE: (namespace) block_dev: Support checking inode permissions in lookup_bdev()
When looking up a block device by path no permission check is
done to verify that the user has access to the block device inode
at the specified path. In some cases it may be necessary to
check permissions towards the inode, such as allowing
unprivileged users to mount block devices in user namespaces.
Add an argument to lookup_bdev() to optionally perform this
permission check. A value of 0 skips the permission check and
behaves the same as before. A non-zero value specifies the mask
of access rights required towards the inode at the specified
path. The check is always skipped if the user has CAP_SYS_ADMIN.
All callers of lookup_bdev() currently pass a mask of 0, so this
patch results in no functional change. Subsequent patches will
add permission checks where appropriate.
John Johansen [Sun, 17 Jun 2018 10:56:25 +0000 (03:56 -0700)]
UBUNTU: SAUCE: apparmor: patch to provide compatibility with v2.x net rules
The networking rules upstreamed in 4.17 have a deliberate abi break
with the older 2.x network rules.
This patch provides compatibility with the older rules for those
still using an apparmor 2.x userspace and still want network rules
to work on a newer kernel.
Signed-off-by: John Johansen <john.johansen@canonical.com>
[ saf: resolve conflicts when rebasing to 4.20 ] Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
John Johansen [Tue, 26 Jun 2018 15:07:54 +0000 (08:07 -0700)]
UBUNTU: SAUCE: apparmor: userspace queries
The userspaced controlled query interface needs a safe version of the
POLICY_MEDIATES query, otherwise userspace can cause an index out of
bounds reference for trusted helper enforced policy.
Paolo Pisati [Thu, 14 Jun 2018 10:08:56 +0000 (12:08 +0200)]
UBUNTU: SAUCE: wcn36xx: read MAC from file or randomly generate one
BugLink: http://bugs.launchpad.net/bugs/1776491
By default, wcn36xx initializes itself with a dummy 00:00:00:00:00:00 MAC
address, preventing the interface from working until a valid MAC address was set.
While not an issue on Ubuntu Classic (where the user can always set it
later on the command line or via /etc/network/interfaces), it became a problem
on Ubuntu Core where the wifi interface is probed during installation,
before the user has any chance to set a new MAC address.
To overcome this scenario, the wcn36xx driver in Xenial had a couple of features:
1) during probe, if /lib/firmware/wlan/macaddr0 was present, its content was
used as the new MAC address
2) if that failed, a pseudo-random MAC addres was generated and set
and this is a port of a the corresponding Xenial code to Bionic:
see xenial/snapdragon tree,
drivers/net/wireless/ath/wcn36xx/wcn36xx-msm.c::wcn36xx_msm_get_hw_mac().
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Khalid Elmously <khalid.elmously@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Johannes Wienke [Fri, 8 Jun 2018 19:55:16 +0000 (15:55 -0400)]
UBUNTU: SAUCE: Add Lenovo V330 to the ideapad_laptop rfkill blacklist
BugLink: http://bugs.launchpad.net/bugs/1774636
This laptop doesn't have a working hardware kill switch and thus the
wifi and bluetooth might become hard blocked without an option to revert
this state at runtime.
Signed-off-by: Johannes Wienke <languitar@semipol.de> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com> Acked-by: Kleber Souza <kleber.souza@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
AceLan Kao [Thu, 24 May 2018 05:41:21 +0000 (13:41 +0800)]
UBUNTU: SAUCE: alx: add enable_wol paramenter
BugLink: https://launchpad.net/bugs/1772610
The WoL feature was reported broken and will lead to the system resumes
immediately after suspended. This symptom is not happening on every
system, and we don't have any machines can reproduce this issue.
To avoid regression, adding enable_wol option and disable
WoL feature by default to prevent the issue from happening.
Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Acked-by: Kleber Souza <kleber.souza@canonical.com> Acked-by: Stefan Bader <stefan.bader@canonical.com> Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
[ saf: hold rtnl during _alx_open() as in bc800e8b39ba "alx: take rtnl before
calling __alx_open from resume" ] Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
UBUNTU: SAUCE: (no-up) rename the adv7511 drm driver to adv7511_drm
BugLink: http://bugs.launchpad.net/bugs/1764816
This has the same name as another module, and due to some quirk
only one of them will get installed. Which one it is seems to be
nondeterministic, but if the drm module is missing in our
snapdragon flavor then the display and audio will fail to work.
Rename the module to avoid the duplication.
Acked-by: Colin Ian King <colin.king@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
BugLink: https://bugs.launchpad.net/bugs/1807334
ACPI GPIO table is defined on platform basis. Remove their definitions
from the Codec driver and include them in the machine driver instead
(where it belongs).
BugLink: http://bugs.launchpad.net/bugs/1657674
This patch adds support for using pmc_plt_clk_3 on Baytrail SoC to be
used as source of MCLK for RT5660 codec.
UBUNTU: SAUCE: (no-up) ASoC: rt5660: Add ACPI support
BugLink: http://bugs.launchpad.net/bugs/1657674
On Dell IoT Gateways, RT5660 codec is available with ACPI ID 10EC3277.
Also, GPIO's are only available by index, so we register mappings to allow
machine drivers to access them by name.
UBUNTU: SAUCE: (no-up) ASoC: Intel: Support machine driver for RT5660 on Baytrail
BugLink: http://bugs.launchpad.net/bugs/1657674
Dell Caracalla IoT gateways sport an RT5660 codec with HID 10EC3277.
This patch adds the machine driver required to support RT5660 codec on
Baytrail based systems.
Signed-off-by: Shrirang Bagul <shrirang.bagul@canonical.com> Acked-by: Tim Gardner <tim.gardner@canonical.com> Acked-by: Brad Figg <brad.figg@canonical.com> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
(backported from commit 7d3d1a863e73ff832f633e8f497a9adcee228fd0)
(source: git://kernel.ubuntu.com/ubuntu/ubuntu-xenial.git) Signed-off-by: Shrirang Bagul <shrirang.bagul@canonical.com> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Paolo Pisati [Tue, 10 Apr 2018 08:50:45 +0000 (10:50 +0200)]
UBUNTU: SAUCE: (snapdragon) drm/msm/adv7511: wrap hacks under CONFIG_ADV7511_SNAPDRAGON_HACKS #ifdefs
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040
This adds the binding document describing the three hardware blocks
related to the Light Pulse Generator found in a wide range of Qualcomm
PMICs.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Ramon Fried <rfried@codeaurora.org>
(cherry picked from commit 780bb8370eb249be9a66084ea58482254e6a4c23
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit 800b5bd63798b0c8167946a40f9cb68436949f68
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
CC: Rob Herring <robh+dt@kernel.org> CC: Mark Rutland <mark.rutland@arm.com> CC: devicetree@vger.kernel.org Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit 0fd9b4a46aa92fff2d887486a9f99a1cf7b2c37f
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Bjorn Andersson [Wed, 24 Jan 2018 09:56:07 +0000 (11:56 +0200)]
UBUNTU: SAUCE: (snapdragon) leds: Add driver for Qualcomm LPG
BugLink: http://bugs.launchpad.net/bugs/1763040
The Light Pulse Generator (LPG) is a PWM-block found in a wide range of
PMICs from Qualcomm. It can operate on fixed parameters or based on a
lookup-table, altering the duty cycle over time - which provides the
means for e.g. hardware assisted transitions of LED brightness.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Ramon Fried <rfried@codeaurora.org>
(cherry picked from commit e3ac82b35c1fb636563a8e39f179e7fd44afa149
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Archit Taneja [Mon, 29 Jan 2018 10:15:08 +0000 (15:45 +0530)]
UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/adv7511: Don't rely on interrupts for EDID parsing
BugLink: http://bugs.launchpad.net/bugs/1763040
The adv7511 driver is currently woken up on successful EDID read
after a EDID_READY interrupt is triggered by the chip. If the driver
doesn't get the interrupt within 200 ms, its concluded that we failed
to read EDID from the monitor.
This interrupt doesn't seem to occur consistently in certain use cases
(for example, if we execute power-on -> get_modes -> power-off
repeatedly, this can be done by calling xrandr successively really
fast).
For now, execute the lesser preferred POLL path where the driver
manually checks on the interrupt status register after every 25ms.
We should ideally rootcause why we don't get EDID_READY interrupts
consistently instead of relying on the above approach.
Signed-off-by: Archit Taneja <architt@codeaurora.org>
(cherry picked from commit 38d51d8575e77c2c79f0959774eb3da9bb5c6562
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Archit Taneja [Mon, 29 Jan 2018 09:48:09 +0000 (15:18 +0530)]
UBUNTU: SAUCE: (snapdragon) drm/bridge/adv7511: Delay clearing of HPD interrupt status
BugLink: http://bugs.launchpad.net/bugs/1763040
When a hotplug event occurs, the adv7511 interrupt handler schedules
an hpd work after clearing the interrupt status registers
(ADV7511_REG_INT(x). The hpd work calls a drm helper that sends a
uevent to notify the userspace about the hotplug event.
On a hotplug connect, the userspace generally acts upon this uevent by
calling an ioctl (DRM_IOCTL_MODE_GETCONNECTOR) that probes on the
connector.This results in the connector's detect() drm_connector_func
being called. In the ADV7511 driver, this is a wrapper around the
adv7511_detect() call.
adv7511_detect() checks on the same interrupt ADV7511_REG_INT(0)
register which was previously cleared by the interrupt handler,
resulting in the func not realizing that a hotplug connect event
took place. ADV7511 loses its state when a disconnect happens, and
the driver needs to do a power-on to re-enable the hardware. This
fails to happen since calls to adv7511_detect() can fail to identify
that a hotplug connect took place.
Fix this by delaying the clearing of the ADV7511_INT0_HPD status flag.
Let the call to adv7511_hpd() be the only one responsible for clearing
this bitfield.
Note: Not sure if this is the best approach. Clearing a status flag
outside of the interrupt handler is generally looked down upon.
Signed-off-by: Archit Taneja <architt@codeaurora.org>
(cherry picked from commit a80597ef620a0633f96ede44d530d5ef805dbdfc
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit e1be96e81d2fe015bcd1efc23f8a757e9e05483f
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit c23e053a07768786a726ff175940987c14eac5cd
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit ad7e386206b243ec61a762e2381d2ba0bfd65273
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit bc67d1ae420c3a3e0789967757da00f7ad68391c
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Todor Tomov [Fri, 13 Oct 2017 10:56:41 +0000 (13:56 +0300)]
UBUNTU: SAUCE: (snapdragon) i2c: Add Qualcomm Camera Control Interface driver
BugLink: http://bugs.launchpad.net/bugs/1763040
This commit adds basic I2C bus support for the Camera Control Interface
(CCI) controller found on the Qualcomm SoC processors.
CCI versions supported:
- 1.0.8 - found on MSM8916/APQ8016 - support for the only CCI I2C bus;
- 1.4.0 - found on MSM8996/APQ8096 - support for first (out of two)
I2C bus.
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit 786b2e3c1b0201dbc6e9ef3468ea46e96dc2e4f2
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040
As soon as the sensor is powered on, change the I2C address to the one
specified in DT. This allows to use multiple physical sensors connected
to the same I2C bus.
Signed-off-by: Todor Tomov <todor.tomov@linaro.org>
(cherry picked from commit 788ed89c55fac229cd5fb5966b1c7f80f41f168e
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
(cherry picked from commit 46bc80121d2067f9a79f4f4a031fe218ca95ccca
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Georgi Djakov [Wed, 20 Sep 2017 13:52:25 +0000 (16:52 +0300)]
UBUNTU: SAUCE: (snapdragon) cpufreq: Add apq8016 to cpufreq-dt-platdev blacklist
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit cca8df19e56f9258ad8ba0686369895f48b25401
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Georgi Djakov [Thu, 12 May 2016 11:41:33 +0000 (14:41 +0300)]
UBUNTU: SAUCE: (snapdragon) PM / OPP: Add a helper to get an opp regulator for device
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit 0482a1c2fd22ac6d6898fd0f42e846c74d5d6c5e
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Georgi Djakov [Thu, 28 Apr 2016 13:20:12 +0000 (16:20 +0300)]
UBUNTU: SAUCE: (snapdragon) PM / OPP: HACK: Allow to set regulator without opp_list
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit b7d4d64534e950f6aea4b562d39dd8b27d7d45dd
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Georgi Djakov [Thu, 25 Aug 2016 15:43:35 +0000 (18:43 +0300)]
UBUNTU: SAUCE: (snapdragon) PM / OPP: Drop RCU usage in dev_pm_opp_adjust_voltage()
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit 97c58e3fefb76f8e0cc7c2b8ee73d9d704f917f3
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Stephen Boyd [Sat, 19 Sep 2015 00:52:06 +0000 (17:52 -0700)]
UBUNTU: SAUCE: (snapdragon) PM / OPP: Support adjusting OPP voltages at runtime
BugLink: http://bugs.launchpad.net/bugs/1763040
On some SoCs the Adaptive Voltage Scaling (AVS) technique is
employed to optimize the operating voltage of a device. At a
given frequency, the hardware monitors dynamic factors and either
makes a suggestion for how much to adjust a voltage for the
current frequency, or it automatically adjusts the voltage
without software intervention. Add an API to the OPP library for
the former case, so that AVS type devices can update the voltages
for an OPP when the hardware determines the voltage should
change. The assumption is that drivers like CPUfreq or devfreq
will register for the OPP notifiers and adjust the voltage
according to suggestions that AVS makes.
Cc: Nishanth Menon <nm@ti.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit 8fcd0e8c8b3789274169925b30182af4698fcd9b
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Andy Gross [Sat, 19 Sep 2015 00:52:05 +0000 (17:52 -0700)]
UBUNTU: SAUCE: (snapdragon) regulator: smd: Add floor and corner operations
BugLink: http://bugs.launchpad.net/bugs/1763040
This patch addes the Qualcomm specific functions for setting the floor and
corner voltages on the regulators.
Signed-off-by: Andy Gross <agross@codeaurora.org>
[georgi.djakov@linaro.org: Make work with struct regulator] Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
(cherry picked from commit 976dbf494c836fd009cfcad61f0947239e1ff72f
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Georgi Djakov [Mon, 24 Apr 2017 12:17:06 +0000 (15:17 +0300)]
UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Register with cpufreq-dt
BugLink: http://bugs.launchpad.net/bugs/1763040
The CPR driver currently is handling most of the dependencies including
populating the OPPs, so just register it with cpufreq-dt.
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit bcd483a0fb6956a7dd42c32c852b20a0919f236f
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
UBUNTU: SAUCE: (snapdragon) power: avs: cpr: fix with new reg_sequence structures
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit 9c916989b35efff5e578786accee3ef1c7de032b
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Georgi Djakov [Sun, 14 Jun 2015 19:22:47 +0000 (22:22 +0300)]
UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Use raw mem access for qfprom
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
(cherry picked from commit 5ad1757e08cd53ed4bd2db884da4c6dd454dbc12
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Stephen Boyd [Sat, 19 Sep 2015 00:52:09 +0000 (17:52 -0700)]
UBUNTU: SAUCE: (snapdragon) power: avs: Add support for CPR (Core Power Reduction)
BugLink: http://bugs.launchpad.net/bugs/1763040
CPR (Core Power Reduction) is a technology that reduces core
power on a CPU or other device. It reads voltage settings in
efuse from product test process as initial settings and populates
OPPs for the device being "monitored". Each OPP corresponds to a
"corner" that has a range of valid voltages for a particular
frequency. While the device is running at a particular frequency,
CPR monitors dynamic factors such as temperature, etc. and
adjusts the voltage for that frequency accordingly to save power
and meet silicon characteristic requirements.
This driver is based on work by others on codeaurora.org[1].
Cc: <devicetree@vger.kernel.org> Cc: David Collins <collinsd@codeaurora.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
(cherry picked from commit f6d8f1b702bf6a008d3cf7c69fb754310777e6ef
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/iommu: Remove runtime_put calls in map/unmap
BugLink: http://bugs.launchpad.net/bugs/1763040
The system hangs when we try to enable GPU with the runtime ops
as the are in msm_iommu's map/unmap. Comment out the runtime_put()
calls for now. It seems like a device links issue. Needs more debug.
Signed-off-by: Archit Taneja <architt@codeaurora.org>
(cherry picked from commit ecd376209a0c16d1dc5792151b01be2f946747d9
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 37cd0466aac75f20c4eb73d28293cd6d0cc5f983
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit c2d8ececedf19f1310493698f79f4735b4c0aa1a
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Koen Kooi [Wed, 14 Feb 2018 13:58:38 +0000 (14:58 +0100)]
UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'fq' and 'fq_codel' qdiscs
BugLink: http://bugs.launchpad.net/bugs/1763040
'fq_codel' is designed to fight bufferbloat, 'fq' can do similar things when coupled with the 'BBR' TCP congestion algorithm.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit e5ce8134178b920a4803dc4eb7ae87058d4dcdc1
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit b451aee0904ea08d15e252c293eb2084f4080d11
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Nicolas Dechesne [Wed, 14 Feb 2018 08:04:41 +0000 (09:04 +0100)]
UBUNTU: SAUCE: (snapdragon) kernel: configs: set USB_CONFIG_F_FS in distro.config
BugLink: http://bugs.launchpad.net/bugs/1763040
We initially add it to arch/arm64/defconfig, however USB_CONFIG_F_FS depends on
USB_CONFIGFS which is not set in arch/arm64/defconfig, so doing a savedefconfig
would prune it. Since we have USB_CONFIGFS in kernel/configs/distro.config , it
is better to set USB_CONFIG_F_FS there as well.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 3c0bd6e79736c381322e9d25e87812d97f4a7104
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Ramon Fried <rfried@codeaurora.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 4255a1c29ebea8f80621603915866723f436ecea
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Ramon Fried <rfried@codeaurora.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 5c4ed6e4d87964c606cc939c790cddb8760899cd
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
UBUNTU: SAUCE: (snapdragon) arm64: configs: Enable camera drivers
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Todor Tomov <todor.tomov@linaro.org> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit b82b34782cabaf10c3301229b043fda976e87549
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit c0a48d8f59ebf8abcc580cc693ea5253a06ad21a
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 330377d14150297921d73f962f6c634b6a11071b
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 318690951bbfd9fbf92f0b2254b7686e03962e88
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Nicolas Dechesne [Tue, 12 Dec 2017 09:07:34 +0000 (10:07 +0100)]
UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable CFG80211_DEFAULT_PS by default
BugLink: http://bugs.launchpad.net/bugs/1763040
WCN36xx driver issues related to power save mode have been fixed, and it is not
safe to set power save mode ON by default again.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit f4bb5cdc73e88f1fbd8fc63987fc857c295164ef
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Amit Kucheria [Mon, 11 Dec 2017 10:23:37 +0000 (15:53 +0530)]
UBUNTU: SAUCE: (snapdragon) Force the SMD regulator driver to be compiled-in
BugLink: http://bugs.launchpad.net/bugs/1763040
Allowing REGULATOR_QCOM_SMD_RPM to be a module requires solving exporting
some symbols and fixing some dependencies. Since this driver is due to be
refactored, let's take a shortcut to simply disallow modules for now.
Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
(cherry picked from commit ebe10495a722f38cd4f4cfb124e0dc301f01e54b
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
UBUNTU: SAUCE: (snapdragon) kernel: configs: enable dm_mod and dm_crypt
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit f7a6ea5d560bf63ae1942b1b344d97590a1c14dd
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Amit Kucheria [Mon, 27 Nov 2017 11:28:12 +0000 (16:58 +0530)]
UBUNTU: SAUCE: (snapdragon) arm64: defconfig: Enable a53/apcs and avs
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org>
(cherry picked from commit fba87646c0750af8d3cd0aca9b8d0d3df3cfe7dc
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 2f28ff9bcfdddf3769b5ebd816f1d03092955e68
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040
The DB410c has no built in Ethernet, so let's make sure that we can at least get
USB/Ether adaptors to work without any modules.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit b0746b1ec12dc9f61d8d771f9a0dcb093c21dd09
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040
powersave is disabled by default, as it is known to cause problems on
Dragonboard 410c, with the current firmware.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit dacc00ec2283a68e36cc638bc23956ca102f75b8
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
f4feb382e577 kernel: configs: distro.config: Build media as modules 26d98682451b distro.config: enable USB device class drivers 9dc089f6ba24 configs: distro.config: enable ZRAM 8f39767444e1 config: enable new trigger modes for leds 45ef9272de5d kernel: configs: distro.config: add legacy instruction support for arm64 3cfc9326cd47 kernel: configs: add more Bluetooth and WLAN options 2757af8ec7cc kernel: configs: distro.config: add NETFILTER_XT_MATCH_HASHLIMIT d4396e667fa4 distro.config: enable USB_LAN78XX c5c7d5af0fca distro.config: extend connectivity options 2bcb6580ca8e kernel: configs: enable Docker support in distro.config f90d65adbd5f configs: move DEBUG configs in their own config file 69e32eeae256 configs: add SPI_SPIDEV as module in distro.config dba8b2c42e18 kernel: configs: add CONFIG_INPUT_JOYDEV in distro.config 98ab2d98ae3c kernel: configs: add I2C_CHARDEV in distro.config 17a895de7d8b kernel: add DRM_LOAD_EDID_FIRMWARE in distro.config 84408f7db7e8 kernel: configs: Enable input misc device drivers 139a0dbd4b37 kernel: configs: update distro config from release branch a390f24b3b7e kernel: configs: improve distro.config, mostly for systemd 666238880c31 kernel: configs: update distro.config 3e2ff9ab7131 kernel: configs: move linaro distro.conf as proper %.config fragment
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit 83a947d5c5fd3fa66163f8a036b0c42a0fab88b9
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit cbb9a7b290d4623e425cd3591fdf8c2a0f1dadc4
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
BugLink: http://bugs.launchpad.net/bugs/1763040 Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
(cherry picked from commit e0153474e81f3e75c12157066ef39311bc3895dc
http://git.linaro.org/landing-teams/working/qualcomm/kernel.git release/qcomlt-4.14) Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com> Acked-by: Seth Forshee <seth.forshee@canonical.com> Acked-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>