Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update 5.4-2.1.x-imx to v5.4.97 #251

Merged
merged 67 commits into from
Feb 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
dfa8205
USB: serial: cp210x: add pid/vid for WSDA-200-USB
Jan 25, 2021
5ad95c5
USB: serial: cp210x: add new VID/PID for supporting Teraoka AD2000
bg4akv Jan 13, 2021
96dcfab
USB: serial: option: Adding support for Cinterion MV31
Jan 27, 2021
0d6e0a1
arm64: dts: qcom: c630: keep both touchpad devices enabled
shawnguo2 Jan 2, 2021
829bf43
Input: i8042 - unbreak Pegatron C15B
Jan 4, 2021
831132b
arm64: dts: amlogic: meson-g12: Set FL-adj property value
fancer Dec 10, 2020
4921f81
arm64: dts: rockchip: fix vopl iommu irq on px30
sandy-huang Jan 8, 2021
9146fff
bpf, cgroup: Fix optlen WARN_ON_ONCE toctou
Liblor Jan 22, 2021
02531b5
bpf, cgroup: Fix problematic bounds check
Liblor Jan 22, 2021
98650c3
um: virtio: free vu_dev only with the contained struct device
jmberg-intel Jan 7, 2021
68e798f
rxrpc: Fix deadlock around release of dst cached on udp tunnel
dhowells Jan 29, 2021
5ce999e
arm64: dts: ls1046a: fix dcfg address range
semihalf-szpak-zyta Jan 21, 2021
ec68581
igc: set the default return value to -IGC_ERR_NVM in igc_write_nvm_srwr
kevlo Dec 20, 2020
6380ef6
igc: check return value of ret_val in igc_config_fc_after_link_up
kevlo Jan 7, 2021
67b7f73
i40e: Revert "i40e: don't report link up for a VF who hasn't enabled …
aloktion Jan 23, 2021
1cef1d4
net/mlx5: Fix leak upon failure of rule creation
maorgottlieb Jan 20, 2021
bf0507f
net: lapb: Copy the skb before sending a packet
Feb 1, 2021
c545879
net: mvpp2: TCAM entry enable should be written after SRAM data
stefanchulski Feb 1, 2021
d97a821
r8169: fix WoL on shutdown if CONFIG_DEBUG_SHIRQ is set
hkallweit Feb 1, 2021
f1c87b4
ARM: dts: sun7i: a20: bananapro: Fix ethernet phy-mode
Jan 28, 2021
7e6dcae
nvmet-tcp: fix out-of-bounds access when receiving multiple h2cdata PDUs
sagigrimberg Feb 3, 2021
e57d70c
memblock: do not start bottom-up allocations with kernel_end
rgushchin Feb 5, 2021
522567f
USB: gadget: legacy: fix an error code in eth_bind()
Jan 28, 2021
4d1d959
USB: usblp: don't call usb_set_interface if there's a single alt
Jan 24, 2021
2a968ab
usb: renesas_usbhs: Clear pipe running flag in usbhs_pkt_pop()
shimoday Feb 1, 2021
9d058a0
usb: dwc2: Fix endpoint direction check in ep_from_windex
mmind Jan 27, 2021
1f9e9c1
usb: dwc3: fix clock issue during resume in OTG mode
gibsson Jan 25, 2021
f4e4f06
usb: xhci-mtk: fix unreleased bandwidth data
ikjn-cros Jan 13, 2021
3241078
usb: xhci-mtk: skip dropping bandwidth of unchecked endpoints
Feb 1, 2021
ddc682d
usb: xhci-mtk: break loop when find the endpoint to drop
Feb 2, 2021
6b9a2e5
usb: host: xhci-plat: add priv quirk for skip PHY initialization
Sep 18, 2020
ecdd962
ovl: fix dentry leak in ovl_get_redirect
Dec 22, 2020
efa1728
mac80211: fix station rate table updates on assoc
nbd168 Feb 1, 2021
e80f902
fgraph: Initialize tracing_graph_pause at task creation
rostedt Jan 29, 2021
d0f3695
kretprobe: Avoid re-registration of the same kretprobe earlier
Jan 28, 2021
c9654bb
libnvdimm/dimm: Avoid race between probe and available_slots_show()
djbw Feb 2, 2021
f6a47f2
genirq/msi: Activate Multi-MSI early when MSI_FLAG_ACTIVATE_EARLY is set
Jan 23, 2021
fd6dc98
xhci: fix bounce buffer usage for non-sg list case
matnyman Feb 3, 2021
00f5819
cifs: report error instead of invalid when revalidating a dentry fails
aaptel Feb 5, 2021
eaf2f83
smb3: Fix out-of-bounds bug in SMB2_negotiate()
GustavoARSilva Feb 2, 2021
68c825b
smb3: fix crediting for compounding when only one request in flight
piastry Feb 3, 2021
6844143
mmc: core: Limit retries when analyse of SDIO tuples fails
poluo Jan 23, 2021
f9034fc
drm/amd/display: Revert "Fix EDID parsing after resume from suspend"
Jan 5, 2021
f9be944
nvme-pci: avoid the deepest sleep state on Kingston A2000 SSDs
knurd Jan 29, 2021
6d3201c
KVM: SVM: Treat SVM as unsupported when running as an SEV guest
sean-jc Feb 2, 2021
b2640b0
KVM: x86: Update emulator context mode if SYSENTER xfers to 64-bit mode
sean-jc Feb 2, 2021
75be485
ARM: footbridge: fix dc21285 PCI configuration accessors
Oct 18, 2020
108f56e
mm: hugetlbfs: fix cannot migrate the fallocated HugeTLB page
Feb 5, 2021
3264a76
mm: hugetlb: fix a race between freeing and dissolving the page
Feb 5, 2021
af5508b
mm: hugetlb: fix a race between isolating and freeing page
Feb 5, 2021
90ef21e
mm: hugetlb: remove VM_BUG_ON_PAGE from page_huge_active
Feb 5, 2021
56d61cd
mm, compaction: move high_pfn to the for loop scope
Feb 5, 2021
40d0fff
mm: thp: fix MADV_REMOVE deadlock on shmem THP
Feb 5, 2021
bc1a3ae
x86/build: Disable CET instrumentation in the kernel
jpoimboe Jan 28, 2021
2d57051
x86/apic: Add extra serialization for non-serializing MSRs
hansendc Mar 5, 2020
03d56da
iwlwifi: mvm: don't send RFH_QUEUE_CONFIG_CMD with no queues
lucacoelho Oct 8, 2020
5fdf672
Input: xpad - sync supported devices with fork on GitHub
benpicco Jan 22, 2021
e857e21
iommu/vt-d: Do not use flush-queue when caching-mode is on
anadav Jan 27, 2021
7018edb
md: Set prev_flush_start and flush_bio in an atomic way
XiaoNi87 Dec 10, 2020
271ea70
igc: Report speed and duplex as unknown when device is runtime suspended
khfeng Dec 2, 2020
90d7459
neighbour: Prevent a dead entry from updating gc_list
Jan 27, 2021
5d3007b
net: ip_tunnel: fix mtu calculation
vvfedorenko Jan 29, 2021
e65d331
net: dsa: mv88e6xxx: override existent unicast portvec in port_fdb_add
LGA1150 Jan 30, 2021
76ab330
net: sched: replaced invalid qdisc tree flush helper in qdisc_replace
Feb 1, 2021
40af962
usb: host: xhci: mvebu: make USB 3.0 PHY optional for Armada 3720
pali Feb 1, 2021
5e19420
Linux 5.4.97
gregkh Feb 10, 2021
36a3021
Merge tag 'v5.4.97' into 5.4-2.1.x-imx
zandrey Feb 10, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 1 addition & 7 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 96
SUBLEVEL = 97
EXTRAVERSION =
NAME = Kleptomaniac Octopus

Expand Down Expand Up @@ -920,12 +920,6 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
# change __FILE__ to the relative path from the srctree
KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)

# ensure -fcf-protection is disabled when using retpoline as it is
# incompatible with -mindirect-branch=thunk-extern
ifdef CONFIG_RETPOLINE
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
endif

include scripts/Makefile.kasan
include scripts/Makefile.extrawarn
include scripts/Makefile.ubsan
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/sun7i-a20-bananapro.dts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
pinctrl-names = "default";
pinctrl-0 = <&gmac_rgmii_pins>;
phy-handle = <&phy1>;
phy-mode = "rgmii";
phy-mode = "rgmii-id";
phy-supply = <&reg_gmac_3v3>;
status = "okay";
};
Expand Down
12 changes: 6 additions & 6 deletions arch/arm/mach-footbridge/dc21285.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,15 @@ dc21285_read_config(struct pci_bus *bus, unsigned int devfn, int where,
if (addr)
switch (size) {
case 1:
asm("ldrb %0, [%1, %2]"
asm volatile("ldrb %0, [%1, %2]"
: "=r" (v) : "r" (addr), "r" (where) : "cc");
break;
case 2:
asm("ldrh %0, [%1, %2]"
asm volatile("ldrh %0, [%1, %2]"
: "=r" (v) : "r" (addr), "r" (where) : "cc");
break;
case 4:
asm("ldr %0, [%1, %2]"
asm volatile("ldr %0, [%1, %2]"
: "=r" (v) : "r" (addr), "r" (where) : "cc");
break;
}
Expand All @@ -100,17 +100,17 @@ dc21285_write_config(struct pci_bus *bus, unsigned int devfn, int where,
if (addr)
switch (size) {
case 1:
asm("strb %0, [%1, %2]"
asm volatile("strb %0, [%1, %2]"
: : "r" (value), "r" (addr), "r" (where)
: "cc");
break;
case 2:
asm("strh %0, [%1, %2]"
asm volatile("strh %0, [%1, %2]"
: : "r" (value), "r" (addr), "r" (where)
: "cc");
break;
case 4:
asm("str %0, [%1, %2]"
asm volatile("str %0, [%1, %2]"
: : "r" (value), "r" (addr), "r" (where)
: "cc");
break;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -2382,7 +2382,7 @@
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
dr_mode = "host";
snps,dis_u2_susphy_quirk;
snps,quirk-frame-length-adjustment;
snps,quirk-frame-length-adjustment = <0x20>;
snps,parkmode-disable-ss-quirk;
};
};
Expand Down
10 changes: 2 additions & 8 deletions arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
Original file line number Diff line number Diff line change
Expand Up @@ -243,16 +243,15 @@
&i2c3 {
status = "okay";
clock-frequency = <400000>;
/* Overwrite pinctrl-0 from sdm845.dtsi */
pinctrl-0 = <&qup_i2c3_default &i2c3_hid_active>;

tsel: hid@15 {
compatible = "hid-over-i2c";
reg = <0x15>;
hid-descr-addr = <0x1>;

interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;

pinctrl-names = "default";
pinctrl-0 = <&i2c3_hid_active>;
};

tsc2: hid@2c {
Expand All @@ -261,11 +260,6 @@
hid-descr-addr = <0x20>;

interrupts-extended = <&tlmm 37 IRQ_TYPE_LEVEL_HIGH>;

pinctrl-names = "default";
pinctrl-0 = <&i2c3_hid_active>;

status = "disabled";
};
};

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/rockchip/px30.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,7 @@
vopl_mmu: iommu@ff470f00 {
compatible = "rockchip,iommu";
reg = <0x0 0xff470f00 0x0 0x100>;
interrupts = <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "vopl_mmu";
clocks = <&cru ACLK_VOPL>, <&cru HCLK_VOPL>;
clock-names = "aclk", "hclk";
Expand Down
3 changes: 2 additions & 1 deletion arch/um/drivers/virtio_uml.c
Original file line number Diff line number Diff line change
Expand Up @@ -959,6 +959,7 @@ static void virtio_uml_release_dev(struct device *d)
}

os_close_file(vu_dev->sock);
kfree(vu_dev);
}

/* Platform device */
Expand All @@ -977,7 +978,7 @@ static int virtio_uml_probe(struct platform_device *pdev)
if (!pdata)
return -EINVAL;

vu_dev = devm_kzalloc(&pdev->dev, sizeof(*vu_dev), GFP_KERNEL);
vu_dev = kzalloc(sizeof(*vu_dev), GFP_KERNEL);
if (!vu_dev)
return -ENOMEM;

Expand Down
3 changes: 3 additions & 0 deletions arch/x86/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,9 @@ else

KBUILD_CFLAGS += -mno-red-zone
KBUILD_CFLAGS += -mcmodel=kernel

# Intel CET isn't enabled in the kernel
KBUILD_CFLAGS += $(call cc-option,-fcf-protection=none)
endif

ifdef CONFIG_X86_X32
Expand Down
10 changes: 0 additions & 10 deletions arch/x86/include/asm/apic.h
Original file line number Diff line number Diff line change
Expand Up @@ -197,16 +197,6 @@ static inline bool apic_needs_pit(void) { return true; }
#endif /* !CONFIG_X86_LOCAL_APIC */

#ifdef CONFIG_X86_X2APIC
/*
* Make previous memory operations globally visible before
* sending the IPI through x2apic wrmsr. We need a serializing instruction or
* mfence for this.
*/
static inline void x2apic_wrmsr_fence(void)
{
asm volatile("mfence" : : : "memory");
}

static inline void native_apic_msr_write(u32 reg, u32 v)
{
if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
Expand Down
18 changes: 18 additions & 0 deletions arch/x86/include/asm/barrier.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,22 @@ do { \

#include <asm-generic/barrier.h>

/*
* Make previous memory operations globally visible before
* a WRMSR.
*
* MFENCE makes writes visible, but only affects load/store
* instructions. WRMSR is unfortunately not a load/store
* instruction and is unaffected by MFENCE. The LFENCE ensures
* that the WRMSR is not reordered.
*
* Most WRMSRs are full serializing instructions themselves and
* do not require this barrier. This is only required for the
* IA32_TSC_DEADLINE and X2APIC MSRs.
*/
static inline void weak_wrmsr_fence(void)
{
asm volatile("mfence; lfence" : : : "memory");
}

#endif /* _ASM_X86_BARRIER_H */
4 changes: 4 additions & 0 deletions arch/x86/kernel/apic/apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
#include <asm/x86_init.h>
#include <asm/pgalloc.h>
#include <linux/atomic.h>
#include <asm/barrier.h>
#include <asm/mpspec.h>
#include <asm/i8259.h>
#include <asm/proto.h>
Expand Down Expand Up @@ -472,6 +473,9 @@ static int lapic_next_deadline(unsigned long delta,
{
u64 tsc;

/* This MSR is special and need a special fence: */
weak_wrmsr_fence();

tsc = rdtsc();
wrmsrl(MSR_IA32_TSC_DEADLINE, tsc + (((u64) delta) * TSC_DIVISOR));
return 0;
Expand Down
6 changes: 4 additions & 2 deletions arch/x86/kernel/apic/x2apic_cluster.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@ static void x2apic_send_IPI(int cpu, int vector)
{
u32 dest = per_cpu(x86_cpu_to_logical_apicid, cpu);

x2apic_wrmsr_fence();
/* x2apic MSRs are special and need a special fence: */
weak_wrmsr_fence();
__x2apic_send_IPI_dest(dest, vector, APIC_DEST_LOGICAL);
}

Expand All @@ -41,7 +42,8 @@ __x2apic_send_IPI_mask(const struct cpumask *mask, int vector, int apic_dest)
unsigned long flags;
u32 dest;

x2apic_wrmsr_fence();
/* x2apic MSRs are special and need a special fence: */
weak_wrmsr_fence();
local_irq_save(flags);

tmpmsk = this_cpu_cpumask_var_ptr(ipi_mask);
Expand Down
9 changes: 6 additions & 3 deletions arch/x86/kernel/apic/x2apic_phys.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@ static void x2apic_send_IPI(int cpu, int vector)
{
u32 dest = per_cpu(x86_cpu_to_apicid, cpu);

x2apic_wrmsr_fence();
/* x2apic MSRs are special and need a special fence: */
weak_wrmsr_fence();
__x2apic_send_IPI_dest(dest, vector, APIC_DEST_PHYSICAL);
}

Expand All @@ -54,7 +55,8 @@ __x2apic_send_IPI_mask(const struct cpumask *mask, int vector, int apic_dest)
unsigned long this_cpu;
unsigned long flags;

x2apic_wrmsr_fence();
/* x2apic MSRs are special and need a special fence: */
weak_wrmsr_fence();

local_irq_save(flags);

Expand Down Expand Up @@ -125,7 +127,8 @@ void __x2apic_send_IPI_shorthand(int vector, u32 which)
{
unsigned long cfg = __prepare_ICR(which, vector, 0);

x2apic_wrmsr_fence();
/* x2apic MSRs are special and need a special fence: */
weak_wrmsr_fence();
native_x2apic_icr_write(cfg, 0);
}

Expand Down
2 changes: 2 additions & 0 deletions arch/x86/kvm/emulate.c
Original file line number Diff line number Diff line change
Expand Up @@ -2890,6 +2890,8 @@ static int em_sysenter(struct x86_emulate_ctxt *ctxt)
ops->get_msr(ctxt, MSR_IA32_SYSENTER_ESP, &msr_data);
*reg_write(ctxt, VCPU_REGS_RSP) = (efer & EFER_LMA) ? msr_data :
(u32)msr_data;
if (efer & EFER_LMA)
ctxt->mode = X86EMUL_MODE_PROT64;

return X86EMUL_CONTINUE;
}
Expand Down
5 changes: 5 additions & 0 deletions arch/x86/kvm/svm.c
Original file line number Diff line number Diff line change
Expand Up @@ -889,6 +889,11 @@ static int has_svm(void)
return 0;
}

if (sev_active()) {
pr_info("KVM is unsupported when running as an SEV guest\n");
return 0;
}

return 1;
}

Expand Down
1 change: 1 addition & 0 deletions arch/x86/mm/mem_encrypt.c
Original file line number Diff line number Diff line change
Expand Up @@ -375,6 +375,7 @@ bool force_dma_unencrypted(struct device *dev)

return false;
}
EXPORT_SYMBOL_GPL(sev_active);

/* Architecture __weak replacement functions */
void __init mem_encrypt_free_decrypted_mem(void)
Expand Down
2 changes: 0 additions & 2 deletions drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1434,8 +1434,6 @@ amdgpu_dm_update_connector_after_detect(struct amdgpu_dm_connector *aconnector)

drm_connector_update_edid_property(connector,
aconnector->edid);
drm_add_edid_modes(connector, aconnector->edid);

if (aconnector->dc_link->aux_mode)
drm_dp_cec_set_edid(&aconnector->dm_dp_aux.aux,
aconnector->edid);
Expand Down
17 changes: 16 additions & 1 deletion drivers/input/joystick/xpad.c
Original file line number Diff line number Diff line change
Expand Up @@ -215,9 +215,17 @@ static const struct xpad_device {
{ 0x0e6f, 0x0213, "Afterglow Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
{ 0x0e6f, 0x021f, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
{ 0x0e6f, 0x0246, "Rock Candy Gamepad for Xbox One 2015", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a0, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a1, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a2, "PDP Wired Controller for Xbox One - Crimson Red", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a4, "PDP Wired Controller for Xbox One - Stealth Series", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a6, "PDP Wired Controller for Xbox One - Camo Series", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a7, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02a8, "PDP Xbox One Controller", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02ab, "PDP Controller for Xbox One", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02ad, "PDP Wired Controller for Xbox One - Stealth Series", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02b3, "Afterglow Prismatic Wired Controller", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x02b8, "Afterglow Prismatic Wired Controller", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x0301, "Logic3 Controller", 0, XTYPE_XBOX360 },
{ 0x0e6f, 0x0346, "Rock Candy Gamepad for Xbox One 2016", 0, XTYPE_XBOXONE },
{ 0x0e6f, 0x0401, "Logic3 Controller", 0, XTYPE_XBOX360 },
Expand Down Expand Up @@ -296,6 +304,9 @@ static const struct xpad_device {
{ 0x1bad, 0xfa01, "MadCatz GamePad", 0, XTYPE_XBOX360 },
{ 0x1bad, 0xfd00, "Razer Onza TE", 0, XTYPE_XBOX360 },
{ 0x1bad, 0xfd01, "Razer Onza", 0, XTYPE_XBOX360 },
{ 0x20d6, 0x2001, "BDA Xbox Series X Wired Controller", 0, XTYPE_XBOXONE },
{ 0x20d6, 0x281f, "PowerA Wired Controller For Xbox 360", 0, XTYPE_XBOX360 },
{ 0x2e24, 0x0652, "Hyperkin Duke X-Box One pad", 0, XTYPE_XBOXONE },
{ 0x24c6, 0x5000, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
{ 0x24c6, 0x5300, "PowerA MINI PROEX Controller", 0, XTYPE_XBOX360 },
{ 0x24c6, 0x5303, "Xbox Airflo wired controller", 0, XTYPE_XBOX360 },
Expand Down Expand Up @@ -429,8 +440,12 @@ static const struct usb_device_id xpad_table[] = {
XPAD_XBOX360_VENDOR(0x162e), /* Joytech X-Box 360 controllers */
XPAD_XBOX360_VENDOR(0x1689), /* Razer Onza */
XPAD_XBOX360_VENDOR(0x1bad), /* Harminix Rock Band Guitar and Drums */
XPAD_XBOX360_VENDOR(0x20d6), /* PowerA Controllers */
XPAD_XBOXONE_VENDOR(0x20d6), /* PowerA Controllers */
XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */
XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */
XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */
XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */
{ }
};

Expand Down
2 changes: 2 additions & 0 deletions drivers/input/serio/i8042-x86ia64io.h
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,8 @@ static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = {
DMI_MATCH(DMI_SYS_VENDOR, "PEGATRON CORPORATION"),
DMI_MATCH(DMI_PRODUCT_NAME, "C15B"),
},
},
{
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "ByteSpeed LLC"),
DMI_MATCH(DMI_PRODUCT_NAME, "ByteSpeed Laptop C15B"),
Expand Down
6 changes: 6 additions & 0 deletions drivers/iommu/intel-iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -3285,6 +3285,12 @@ static int __init init_dmars(void)

if (!ecap_pass_through(iommu->ecap))
hw_pass_through = 0;

if (!intel_iommu_strict && cap_caching_mode(iommu->cap)) {
pr_info("Disable batched IOTLB flush due to virtualization");
intel_iommu_strict = 1;
}

#ifdef CONFIG_INTEL_IOMMU_SVM
if (pasid_supported(iommu))
intel_svm_init(iommu);
Expand Down
2 changes: 2 additions & 0 deletions drivers/md/md.c
Original file line number Diff line number Diff line change
Expand Up @@ -538,8 +538,10 @@ static void md_submit_flush_data(struct work_struct *ws)
* could wait for this and below md_handle_request could wait for those
* bios because of suspend check
*/
spin_lock_irq(&mddev->lock);
mddev->last_flush = mddev->start_flush;
mddev->flush_bio = NULL;
spin_unlock_irq(&mddev->lock);
wake_up(&mddev->sb_wait);

if (bio->bi_iter.bi_size == 0) {
Expand Down
6 changes: 6 additions & 0 deletions drivers/mmc/core/sdio_cis.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
#include "sdio_cis.h"
#include "sdio_ops.h"

#define SDIO_READ_CIS_TIMEOUT_MS (10 * 1000) /* 10s */

static int cistpl_vers_1(struct mmc_card *card, struct sdio_func *func,
const unsigned char *buf, unsigned size)
{
Expand Down Expand Up @@ -266,6 +268,8 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)

do {
unsigned char tpl_code, tpl_link;
unsigned long timeout = jiffies +
msecs_to_jiffies(SDIO_READ_CIS_TIMEOUT_MS);

ret = mmc_io_rw_direct(card, 0, 0, ptr++, 0, &tpl_code);
if (ret)
Expand Down Expand Up @@ -318,6 +322,8 @@ static int sdio_read_cis(struct mmc_card *card, struct sdio_func *func)
prev = &this->next;

if (ret == -ENOENT) {
if (time_after(jiffies, timeout))
break;
/* warn about unknown tuples */
pr_warn_ratelimited("%s: queuing unknown"
" CIS tuple 0x%02x (%u bytes)\n",
Expand Down
Loading