~vicamo/+git/ubuntu-kernel:bug-1844410/thunderbolt-on-tiger-lake/oem-5.6

Last commit made on 2020-06-19
Get this branch:
git clone -b bug-1844410/thunderbolt-on-tiger-lake/oem-5.6 https://git.launchpad.net/~vicamo/+git/ubuntu-kernel
Only You-Sheng Yang can upload to this branch. If you are You-Sheng Yang please log in for upload directions.

Branch merges

Branch information

Name:
bug-1844410/thunderbolt-on-tiger-lake/oem-5.6
Repository:
lp:~vicamo/+git/ubuntu-kernel

Recent commits

5cc6f1a... by You-Sheng Yang

Bug 1844410: thunderbolt: Add support for Intel Tiger Lake

a021311... by Mika Westerberg <email address hidden>

thunderbolt: Add support for Intel Tiger Lake

BugLink: https://bugs.launchpad.net/bugs/1844410

Tiger Lake integrated Thunderbolt/USB4 controller is quite close to
Intel Ice Lake. By default it is still using firmware based connection
manager so we can use most of the Ice Lake flows in Tiger Lake as well.
We check if the firmware connection manager is running and in that case
use it, otherwise use the software based connection manager.

Signed-off-by: Mika Westerberg <email address hidden>
Acked-by: Yehezkel Bernat <email address hidden>
(cherry picked from commit 57d8df68eb53cc15e5bdfc14bfb28a18543109eb)
Signed-off-by: You-Sheng Yang <email address hidden>

1b7a8a9... by Kamal Mostafa

UBUNTU: upstream stable to v5.6.19

BugLink: https://bugs.launchpad.net/bugs/1883938

Ignore: yes
Signed-off-by: Kamal Mostafa <email address hidden>

bfd32d0... by Greg Kroah-Hartman <email address hidden>

Linux 5.6.19

BugLink: https://bugs.launchpad.net/bugs/1883938

Signed-off-by: Kamal Mostafa <email address hidden>

c836c8f... by Marc Zyngier <email address hidden>

KVM: arm64: Save the host's PtrAuth keys in non-preemptible context

BugLink: https://bugs.launchpad.net/bugs/1883938

commit ef3e40a7ea8dbe2abd0a345032cd7d5023b9684f upstream.

When using the PtrAuth feature in a guest, we need to save the host's
keys before allowing the guest to program them. For that, we dump
them in a per-CPU data structure (the so called host context).

But both call sites that do this are in preemptible context,
which may end up in disaster should the vcpu thread get preempted
before reentering the guest.

Instead, save the keys eagerly on each vcpu_load(). This has an
increased overhead, but is at least safe.

Cc: <email address hidden>
Reviewed-by: Mark Rutland <email address hidden>
Signed-off-by: Marc Zyngier <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

9eb6bab... by Marc Zyngier <email address hidden>

KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception

BugLink: https://bugs.launchpad.net/bugs/1883938

commit 0370964dd3ff7d3d406f292cb443a927952cbd05 upstream.

On a VHE system, the EL1 state is left in the CPU most of the time,
and only syncronized back to memory when vcpu_put() is called (most
of the time on preemption).

Which means that when injecting an exception, we'd better have a way
to either:
(1) write directly to the EL1 sysregs
(2) synchronize the state back to memory, and do the changes there

For an AArch64, we already do (1), so we are safe. Unfortunately,
doing the same thing for AArch32 would be pretty invasive. Instead,
we can easily implement (2) by calling the put/load architectural
backends, and keep preemption disabled. We can then reload the
state back into EL1.

Cc: <email address hidden>
Reported-by: James Morse <email address hidden>
Signed-off-by: Marc Zyngier <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

7448e10... by Mattia Dongili <email address hidden>

platform/x86: sony-laptop: Make resuming thermal profile safer

BugLink: https://bugs.launchpad.net/bugs/1883938

commit 476d60b1b4c8a2b14a53ef9b772058f35e604661 upstream.

The thermal handle object may fail initialization when the module is
loaded in the first place. Avoid attempting to use it on resume then.

Fixes: 6d232b29cfce ("ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator")
Reported-by: Dominik Mierzejewski <email address hidden>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207491
Signed-off-by: Mattia Dongili <email address hidden>
Signed-off-by: Andy Shevchenko <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

f24f2df... by Mattia Dongili <email address hidden>

platform/x86: sony-laptop: SNC calls should handle BUFFER types

BugLink: https://bugs.launchpad.net/bugs/1883938

commit 47828d22539f76c8c9dcf2a55f18ea3a8039d8ef upstream.

After commit 6d232b29cfce ("ACPICA: Dispatcher: always generate buffer
objects for ASL create_field() operator") ACPICA creates buffers even
when new fields are small enough to fit into an integer.
Many SNC calls counted on the old behaviour.
Since sony-laptop already handles the INTEGER/BUFFER case in
sony_nc_buffer_call, switch sony_nc_int_call to use its more generic
function instead.

Fixes: 6d232b29cfce ("ACPICA: Dispatcher: always generate buffer objects for ASL create_field() operator")
Reported-by: Dominik Mierzejewski <email address hidden>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=207491
Reported-by: William Bader <email address hidden>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1830150
Signed-off-by: Mattia Dongili <email address hidden>
Signed-off-by: Andy Shevchenko <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

eff2959... by Jürgen Groß

xen/pvcalls-back: test for errors when calling backend_connect()

BugLink: https://bugs.launchpad.net/bugs/1883938

commit c8d70a29d6bbc956013f3401f92a4431a9385a3c upstream.

backend_connect() can fail, so switch the device to connected only if
no error occurred.

Fixes: 0a9c75c2c7258f2 ("xen/pvcalls: xenbus state handling")
Cc: <email address hidden>
Signed-off-by: Juergen Gross <email address hidden>
Link: https://<email address hidden>
Reviewed-by: Stefano Stabellini <email address hidden>
Signed-off-by: Boris Ostrovsky <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>

2520e13... by Jiri Kosina <email address hidden>

block/floppy: fix contended case in floppy_queue_rq()

BugLink: https://bugs.launchpad.net/bugs/1883938

commit 263c61581a38d0a5ad1f5f4a9143b27d68caeffd upstream.

Since the switch of floppy driver to blk-mq, the contended (fdc_busy) case
in floppy_queue_rq() is not handled correctly.

In case we reach floppy_queue_rq() with fdc_busy set (i.e. with the floppy
locked due to another request still being in-flight), we put the request
on the list of requests and return BLK_STS_OK to the block core, without
actually scheduling delayed work / doing further processing of the
request. This means that processing of this request is postponed until
another request comes and passess uncontended.

Which in some cases might actually never happen and we keep waiting
indefinitely. The simple testcase is

 for i in `seq 1 2000`; do echo -en $i '\r'; blkid --info /dev/fd0 2> /dev/null; done

run in quemu. That reliably causes blkid eventually indefinitely hanging
in __floppy_read_block_0() waiting for completion, as the BIO callback
never happens, and no further IO is ever submitted on the (non-existent)
floppy device. This was observed reliably on qemu-emulated device.

Fix that by not queuing the request in the contended case, and return
BLK_STS_RESOURCE instead, so that blk core handles the request
rescheduling and let it pass properly non-contended later.

Fixes: a9f38e1dec107a ("floppy: convert to blk-mq")
Cc: <email address hidden>
Tested-by: Libor Pechacek <email address hidden>
Signed-off-by: Jiri Kosina <email address hidden>
Signed-off-by: Jens Axboe <email address hidden>
Signed-off-by: Greg Kroah-Hartman <email address hidden>
Signed-off-by: Kamal Mostafa <email address hidden>