Merge 5.10.48 into android12-5.10-lts
Changes in 5.10.48 scsi: sr: Return appropriate error code when disk is ejected gpio: mxc: Fix disabled interrupt wake-up support drm/nouveau: fix dma_address check for CPU/GPU sync gpio: AMD8111 and TQMX86 require HAS_IOPORT_MAP RDMA/mlx5: Block FDB rules when not in switchdev mode Revert "KVM: x86/mmu: Drop kvm_mmu_extended_role.cr4_la57 hack" Linux 5.10.48 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: Ie66f49fdd4e28b369b134dfb99aab7c0f0e3bd18
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
|||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
VERSION = 5
|
VERSION = 5
|
||||||
PATCHLEVEL = 10
|
PATCHLEVEL = 10
|
||||||
SUBLEVEL = 47
|
SUBLEVEL = 48
|
||||||
EXTRAVERSION =
|
EXTRAVERSION =
|
||||||
NAME = Dare mighty things
|
NAME = Dare mighty things
|
||||||
|
|
||||||
|
@@ -296,6 +296,7 @@ union kvm_mmu_extended_role {
|
|||||||
unsigned int cr4_pke:1;
|
unsigned int cr4_pke:1;
|
||||||
unsigned int cr4_smap:1;
|
unsigned int cr4_smap:1;
|
||||||
unsigned int cr4_smep:1;
|
unsigned int cr4_smep:1;
|
||||||
|
unsigned int cr4_la57:1;
|
||||||
unsigned int maxphyaddr:6;
|
unsigned int maxphyaddr:6;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@@ -4442,6 +4442,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_smap = !!kvm_read_cr4_bits(vcpu, X86_CR4_SMAP);
|
||||||
ext.cr4_pse = !!is_pse(vcpu);
|
ext.cr4_pse = !!is_pse(vcpu);
|
||||||
ext.cr4_pke = !!kvm_read_cr4_bits(vcpu, X86_CR4_PKE);
|
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.maxphyaddr = cpuid_maxphyaddr(vcpu);
|
||||||
|
|
||||||
ext.valid = 1;
|
ext.valid = 1;
|
||||||
|
@@ -1337,6 +1337,7 @@ config GPIO_TPS68470
|
|||||||
config GPIO_TQMX86
|
config GPIO_TQMX86
|
||||||
tristate "TQ-Systems QTMX86 GPIO"
|
tristate "TQ-Systems QTMX86 GPIO"
|
||||||
depends on MFD_TQMX86 || COMPILE_TEST
|
depends on MFD_TQMX86 || COMPILE_TEST
|
||||||
|
depends on HAS_IOPORT_MAP
|
||||||
select GPIOLIB_IRQCHIP
|
select GPIOLIB_IRQCHIP
|
||||||
help
|
help
|
||||||
This driver supports GPIO on the TQMX86 IO controller.
|
This driver supports GPIO on the TQMX86 IO controller.
|
||||||
@@ -1404,6 +1405,7 @@ menu "PCI GPIO expanders"
|
|||||||
config GPIO_AMD8111
|
config GPIO_AMD8111
|
||||||
tristate "AMD 8111 GPIO driver"
|
tristate "AMD 8111 GPIO driver"
|
||||||
depends on X86 || COMPILE_TEST
|
depends on X86 || COMPILE_TEST
|
||||||
|
depends on HAS_IOPORT_MAP
|
||||||
help
|
help
|
||||||
The AMD 8111 south bridge contains 32 GPIO pins which can be used.
|
The AMD 8111 south bridge contains 32 GPIO pins which can be used.
|
||||||
|
|
||||||
|
@@ -361,7 +361,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_unmask = irq_gc_mask_set_bit;
|
||||||
ct->chip.irq_set_type = gpio_set_irq_type;
|
ct->chip.irq_set_type = gpio_set_irq_type;
|
||||||
ct->chip.irq_set_wake = gpio_set_wake_irq;
|
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.ack = GPIO_ISR;
|
||||||
ct->regs.mask = GPIO_IMR;
|
ct->regs.mask = GPIO_IMR;
|
||||||
|
|
||||||
|
@@ -590,7 +590,7 @@ nouveau_bo_sync_for_device(struct nouveau_bo *nvbo)
|
|||||||
struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
|
struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!ttm_dma)
|
if (!ttm_dma || !ttm_dma->dma_address)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Don't waste time looping if the object is coherent */
|
/* Don't waste time looping if the object is coherent */
|
||||||
@@ -610,7 +610,7 @@ nouveau_bo_sync_for_cpu(struct nouveau_bo *nvbo)
|
|||||||
struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
|
struct ttm_dma_tt *ttm_dma = (struct ttm_dma_tt *)nvbo->bo.ttm;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!ttm_dma)
|
if (!ttm_dma || !ttm_dma->dma_address)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* Don't waste time looping if the object is coherent */
|
/* Don't waste time looping if the object is coherent */
|
||||||
|
@@ -2136,6 +2136,13 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_FLOW_MATCHER_CREATE)(
|
|||||||
if (err)
|
if (err)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
if (obj->ns_type == MLX5_FLOW_NAMESPACE_FDB &&
|
||||||
|
mlx5_eswitch_mode(dev->mdev->priv.eswitch) !=
|
||||||
|
MLX5_ESWITCH_OFFLOADS) {
|
||||||
|
err = -EINVAL;
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
uobj->object = obj;
|
uobj->object = obj;
|
||||||
obj->mdev = dev->mdev;
|
obj->mdev = dev->mdev;
|
||||||
atomic_set(&obj->usecnt, 0);
|
atomic_set(&obj->usecnt, 0);
|
||||||
|
@@ -220,6 +220,8 @@ static unsigned int sr_get_events(struct scsi_device *sdev)
|
|||||||
return DISK_EVENT_EJECT_REQUEST;
|
return DISK_EVENT_EJECT_REQUEST;
|
||||||
else if (med->media_event_code == 2)
|
else if (med->media_event_code == 2)
|
||||||
return DISK_EVENT_MEDIA_CHANGE;
|
return DISK_EVENT_MEDIA_CHANGE;
|
||||||
|
else if (med->media_event_code == 3)
|
||||||
|
return DISK_EVENT_EJECT_REQUEST;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user