127 lines
4.2 KiB
Plaintext
127 lines
4.2 KiB
Plaintext
diff --git a/Makefile b/Makefile
|
|
index 433f164f9ee0f..09e1a0967bab7 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -1,7 +1,7 @@
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
VERSION = 5
|
|
PATCHLEVEL = 12
|
|
-SUBLEVEL = 14
|
|
+SUBLEVEL = 15
|
|
EXTRAVERSION =
|
|
NAME = Frozen Wasteland
|
|
|
|
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
|
|
index eec2dcca2f390..ac7c786fa09f9 100644
|
|
--- a/arch/x86/include/asm/kvm_host.h
|
|
+++ b/arch/x86/include/asm/kvm_host.h
|
|
@@ -307,6 +307,7 @@ union kvm_mmu_extended_role {
|
|
unsigned int cr4_pke:1;
|
|
unsigned int cr4_smap:1;
|
|
unsigned int cr4_smep:1;
|
|
+ unsigned int cr4_la57:1;
|
|
unsigned int maxphyaddr:6;
|
|
};
|
|
};
|
|
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
|
|
index 676ec0d1e6be4..fb2231cf19b5d 100644
|
|
--- a/arch/x86/kvm/mmu/mmu.c
|
|
+++ b/arch/x86/kvm/mmu/mmu.c
|
|
@@ -4463,6 +4463,7 @@ static union kvm_mmu_extended_role kvm_calc_mmu_role_ext(struct kvm_vcpu *vcpu)
|
|
ext.cr4_smap = !!kvm_read_cr4_bits(vcpu, X86_CR4_SMAP);
|
|
ext.cr4_pse = !!is_pse(vcpu);
|
|
ext.cr4_pke = !!kvm_read_cr4_bits(vcpu, X86_CR4_PKE);
|
|
+ ext.cr4_la57 = !!kvm_read_cr4_bits(vcpu, X86_CR4_LA57);
|
|
ext.maxphyaddr = cpuid_maxphyaddr(vcpu);
|
|
|
|
ext.valid = 1;
|
|
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
|
|
index e3607ec4c2e83..fb365aef336b5 100644
|
|
--- a/drivers/gpio/Kconfig
|
|
+++ b/drivers/gpio/Kconfig
|
|
@@ -1361,6 +1361,7 @@ config GPIO_TPS68470
|
|
config GPIO_TQMX86
|
|
tristate "TQ-Systems QTMX86 GPIO"
|
|
depends on MFD_TQMX86 || COMPILE_TEST
|
|
+ depends on HAS_IOPORT_MAP
|
|
select GPIOLIB_IRQCHIP
|
|
help
|
|
This driver supports GPIO on the TQMX86 IO controller.
|
|
@@ -1428,6 +1429,7 @@ menu "PCI GPIO expanders"
|
|
config GPIO_AMD8111
|
|
tristate "AMD 8111 GPIO driver"
|
|
depends on X86 || COMPILE_TEST
|
|
+ depends on HAS_IOPORT_MAP
|
|
help
|
|
The AMD 8111 south bridge contains 32 GPIO pins which can be used.
|
|
|
|
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
|
|
index 157106e1e4381..b9fdf05d76694 100644
|
|
--- a/drivers/gpio/gpio-mxc.c
|
|
+++ b/drivers/gpio/gpio-mxc.c
|
|
@@ -334,7 +334,7 @@ static int mxc_gpio_init_gc(struct mxc_gpio_port *port, int irq_base)
|
|
ct->chip.irq_unmask = irq_gc_mask_set_bit;
|
|
ct->chip.irq_set_type = gpio_set_irq_type;
|
|
ct->chip.irq_set_wake = gpio_set_wake_irq;
|
|
- ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND;
|
|
+ ct->chip.flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND;
|
|
ct->regs.ack = GPIO_ISR;
|
|
ct->regs.mask = GPIO_IMR;
|
|
|
|
diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
|
|
index f2720a0061993..0a47a2a5553d1 100644
|
|
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
|
|
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
|
|
@@ -549,7 +549,7 @@ nouveau_bo_sync_for_device(struct nouveau_bo *nvbo)
|
|
struct ttm_tt *ttm_dma = (struct ttm_tt *)nvbo->bo.ttm;
|
|
int i, j;
|
|
|
|
- if (!ttm_dma)
|
|
+ if (!ttm_dma || !ttm_dma->dma_address)
|
|
return;
|
|
if (!ttm_dma->pages) {
|
|
NV_DEBUG(drm, "ttm_dma 0x%p: pages NULL\n", ttm_dma);
|
|
@@ -585,7 +585,7 @@ nouveau_bo_sync_for_cpu(struct nouveau_bo *nvbo)
|
|
struct ttm_tt *ttm_dma = (struct ttm_tt *)nvbo->bo.ttm;
|
|
int i, j;
|
|
|
|
- if (!ttm_dma)
|
|
+ if (!ttm_dma || !ttm_dma->dma_address)
|
|
return;
|
|
if (!ttm_dma->pages) {
|
|
NV_DEBUG(drm, "ttm_dma 0x%p: pages NULL\n", ttm_dma);
|
|
diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
|
|
index 6946a7e26eff7..ef5e792c665fd 100644
|
|
--- a/drivers/s390/crypto/vfio_ap_ops.c
|
|
+++ b/drivers/s390/crypto/vfio_ap_ops.c
|
|
@@ -366,16 +366,6 @@ static int vfio_ap_mdev_remove(struct mdev_device *mdev)
|
|
struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev);
|
|
|
|
mutex_lock(&matrix_dev->lock);
|
|
-
|
|
- /*
|
|
- * If the KVM pointer is in flux or the guest is running, disallow
|
|
- * un-assignment of control domain.
|
|
- */
|
|
- if (matrix_mdev->kvm_busy || matrix_mdev->kvm) {
|
|
- mutex_unlock(&matrix_dev->lock);
|
|
- return -EBUSY;
|
|
- }
|
|
-
|
|
vfio_ap_mdev_reset_queues(mdev);
|
|
list_del(&matrix_mdev->node);
|
|
kfree(matrix_mdev);
|
|
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c
|
|
index e4633b84c556a..7815ed642d434 100644
|
|
--- a/drivers/scsi/sr.c
|
|
+++ b/drivers/scsi/sr.c
|
|
@@ -220,6 +220,8 @@ static unsigned int sr_get_events(struct scsi_device *sdev)
|
|
return DISK_EVENT_EJECT_REQUEST;
|
|
else if (med->media_event_code == 2)
|
|
return DISK_EVENT_MEDIA_CHANGE;
|
|
+ else if (med->media_event_code == 3)
|
|
+ return DISK_EVENT_EJECT_REQUEST;
|
|
return 0;
|
|
}
|
|
|