Merge remote-tracking branch 'up/f33' into f33-riscv64-v2

Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
This commit is contained in:
David Abdurachmanov 2021-11-13 08:41:27 +02:00
commit c236be83b2
Signed by: davidlt
GPG Key ID: 8B7F1DA0E2C9FDBB
18 changed files with 211 additions and 135 deletions

View File

@ -1,3 +1,12 @@
https://gitlab.com/cki-project/kernel-ark/-/commit/3715b05fa9dc06b00536752b10ddd70252ed8b35
3715b05fa9dc06b00536752b10ddd70252ed8b35 usb: xhci: tegra: Check padctrl interrupt presence in device tree
https://gitlab.com/cki-project/kernel-ark/-/commit/b9f75c7f59600e9aa65cd915248c9a94fa98c56d
b9f75c7f59600e9aa65cd915248c9a94fa98c56d Input: i8042 - Add quirk for Fujitsu Lifebook T725
https://gitlab.com/cki-project/kernel-ark/-/commit/135e0ca7843b0c75078420af44f09c03adf031e4
135e0ca7843b0c75078420af44f09c03adf031e4 btrfs: fix memory ordering between normal and ordered work functions
https://gitlab.com/cki-project/kernel-ark/-/commit/4ea42fc748bc3ba5da69dd285681603f8474732e
4ea42fc748bc3ba5da69dd285681603f8474732e Revert "xhci: Set HCD flag to defer primary roothub registration"

View File

@ -1064,6 +1064,7 @@ CONFIG_CLK_BCM2835=y
CONFIG_CLKDEV_LOOKUP=y
# CONFIG_CLK_GFM_LPASS_SM8250 is not set
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_ICST=y
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
@ -1121,7 +1122,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
# CONFIG_CODA_FS is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXG=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
CONFIG_COMMON_CLK_BD718XX=m
@ -5501,6 +5502,7 @@ CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCOM_SPMI_IADC=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_SPM=y
CONFIG_QCOM_SYSMON=m
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m

View File

@ -1064,6 +1064,7 @@ CONFIG_CLK_BCM2835=y
CONFIG_CLKDEV_LOOKUP=y
# CONFIG_CLK_GFM_LPASS_SM8250 is not set
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_ICST=y
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
@ -1121,7 +1122,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
# CONFIG_CODA_FS is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXG=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
CONFIG_COMMON_CLK_BD718XX=m
@ -5478,6 +5479,7 @@ CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCOM_SPMI_IADC=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_SPM=y
CONFIG_QCOM_SYSMON=m
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m

View File

@ -1086,6 +1086,7 @@ CONFIG_CLK_BCM2711_DVP=m
CONFIG_CLK_BCM2835=y
# CONFIG_CLK_GFM_LPASS_SM8250 is not set
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_ICST=y
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
@ -1141,7 +1142,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
# CONFIG_CODA_FS is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
@ -5597,6 +5598,7 @@ CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCOM_SPMI_IADC=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_SPM=y
# CONFIG_QCOM_SYSMON is not set
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m

View File

@ -1086,6 +1086,7 @@ CONFIG_CLK_BCM2711_DVP=m
CONFIG_CLK_BCM2835=y
# CONFIG_CLK_GFM_LPASS_SM8250 is not set
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_ICST=y
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
@ -1141,7 +1142,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
# CONFIG_CODA_FS is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
@ -5575,6 +5576,7 @@ CONFIG_QCOM_SPMI_ADC5=m
CONFIG_QCOM_SPMI_IADC=m
CONFIG_QCOM_SPMI_TEMP_ALARM=m
CONFIG_QCOM_SPMI_VADC=m
CONFIG_QCOM_SPM=y
# CONFIG_QCOM_SYSMON is not set
CONFIG_QCOM_TSENS=m
CONFIG_QCOM_WCNSS_CTRL=m

View File

@ -1060,6 +1060,7 @@ CONFIG_CLK_BCM2711_DVP=m
CONFIG_CLK_BCM2835=y
# CONFIG_CLK_GFM_LPASS_SM8250 is not set
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_ICST=y
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
@ -1114,7 +1115,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
# CONFIG_CODA_FS is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
@ -5443,6 +5444,7 @@ CONFIG_QCOM_SCM=y
CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
# CONFIG_QCOM_SPMI_ADC_TM5 is not set
CONFIG_QCOM_SPM=y
CONFIG_QCS_GCC_404=m
# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set

View File

@ -1060,6 +1060,7 @@ CONFIG_CLK_BCM2711_DVP=m
CONFIG_CLK_BCM2835=y
# CONFIG_CLK_GFM_LPASS_SM8250 is not set
# CONFIG_CLK_HSDK is not set
CONFIG_CLK_ICST=y
CONFIG_CLK_IMX8MM=y
CONFIG_CLK_IMX8MN=y
CONFIG_CLK_IMX8MP=y
@ -1114,7 +1115,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
# CONFIG_CODA_FS is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set
@ -5421,6 +5422,7 @@ CONFIG_QCOM_SCM=y
CONFIG_QCOM_SOCINFO=m
CONFIG_QCOM_SPMI_ADC5=m
# CONFIG_QCOM_SPMI_ADC_TM5 is not set
CONFIG_QCOM_SPM=y
CONFIG_QCS_GCC_404=m
# CONFIG_QCS_Q6SSTOP_404 is not set
# CONFIG_QCS_TURING_404 is not set

View File

@ -916,7 +916,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -915,7 +915,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -867,7 +867,7 @@ CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -866,7 +866,7 @@ CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_CODE_PATCHING_SELFTEST is not set
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -874,7 +874,7 @@ CONFIG_CMM=m
CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -873,7 +873,7 @@ CONFIG_CMM=m
CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -930,7 +930,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -929,7 +929,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
CONFIG_CNIC=m
CONFIG_CODA_FS=m
# CONFIG_COMEDI is not set
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_AXG_AUDIO=y
CONFIG_COMMON_CLK_AXI_CLKGEN=m
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CDCE925 is not set

View File

@ -80,7 +80,7 @@ Summary: The Linux kernel
# the --with-release option overrides this setting.)
%define debugbuildsenabled 1
%global distro_build 101
%global distro_build 100
%if 0%{?fedora}
%define secure_boot_arch x86_64
@ -123,15 +123,15 @@ Summary: The Linux kernel
# The kernel tarball/base version
%define kversion 5.14
%define rpmversion 5.14.16
%define rpmversion 5.14.18
%define patchversion 5.14
%define pkgrelease 101
%define pkgrelease 100
# This is needed to do merge window version magic
%define patchlevel 14
# allow pkg_release to have configurable %%{?dist} tag
%define specrelease 101%{?buildid}.0.riscv64%{?dist}
%define specrelease 100%{?buildid}.0.riscv64%{?dist}
%define pkg_release %{specrelease}
@ -684,7 +684,7 @@ BuildRequires: lld
# exact git commit you can run
#
# xzcat -qq ${TARBALL} | git get-tar-commit-id
Source0: linux-5.14.16.tar.xz
Source0: linux-5.14.18.tar.xz
Source1: Makefile.rhelver
@ -1375,8 +1375,8 @@ ApplyOptionalPatch()
fi
}
%setup -q -n kernel-5.14.16 -c
mv linux-5.14.16 linux-%{KVERREL}
%setup -q -n kernel-5.14.18 -c
mv linux-5.14.18 linux-%{KVERREL}
cd linux-%{KVERREL}
cp -a %{SOURCE1} .
@ -2975,9 +2975,17 @@ fi
#
#
%changelog
* Tue Nov 09 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> [5.14.16-1.0.riscv64]
* Sat Nov 13 2021 David Abdurachmanov <david.abdurachmanov@gmail.com> [5.14.18-1.0.riscv64]
- Enable riscv64 arch
* Fri Nov 12 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.14.18-1]
- usb: xhci: tegra: Check padctrl interrupt presence in device tree (Dmitry Osipenko)
- Input: i8042 - Add quirk for Fujitsu Lifebook T725 (Takashi Iwai)
* Mon Nov 08 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.14.17-1]
- btrfs: fix memory ordering between normal and ordered work functions (Nikolay Borisov)
- Turn on COMMON_CLK_AXG_AUDIO for Fedora rhbz 2020481 (Justin M. Forbes)
* Wed Nov 03 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.14.16-1]
- Update release for usb fix rebuild (Justin M. Forbes)
- Revert "xhci: Set HCD flag to defer primary roothub registration" (Justin M. Forbes)

View File

@ -19,13 +19,14 @@
drivers/hid/hid-rmi.c | 64 ---
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 +
drivers/input/rmi4/rmi_driver.c | 124 +++--
drivers/input/serio/i8042-x86ia64io.h | 14 +
drivers/iommu/iommu.c | 22 +
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c | 4 +
drivers/net/wireguard/main.c | 6 +
drivers/pci/quirks.c | 24 +
drivers/usb/core/hcd.c | 29 +-
drivers/usb/core/hub.c | 7 +
drivers/usb/host/xhci.c | 1 -
drivers/usb/host/xhci-tegra.c | 41 +-
fs/btrfs/async-thread.c | 14 +
fs/xfs/xfs_super.c | 8 -
include/linux/efi.h | 22 +-
include/linux/lsm_hook_defs.h | 2 +
@ -33,7 +34,6 @@
include/linux/random.h | 7 +
include/linux/rmi.h | 1 +
include/linux/security.h | 5 +
include/linux/usb/hcd.h | 2 -
init/Kconfig | 2 +-
kernel/module_signing.c | 9 +-
mm/cma.c | 10 +
@ -55,7 +55,7 @@
tools/testing/selftests/bpf/progs/linked_maps2.c | 76 ---
tools/testing/selftests/bpf/progs/linked_vars1.c | 54 --
tools/testing/selftests/bpf/progs/linked_vars2.c | 55 ---
57 files changed, 677 insertions(+), 1520 deletions(-)
57 files changed, 728 insertions(+), 1506 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 110b305af27f..488feec76f0a 100644
@ -1208,6 +1208,38 @@ index 258d5fe3d395..f7298e3dc8f3 100644
if (data->f01_container->dev.driver) {
/* Driver already bound, so enable ATTN now. */
diff --git a/drivers/input/serio/i8042-x86ia64io.h b/drivers/input/serio/i8042-x86ia64io.h
index a5a003553646..aedd05541044 100644
--- a/drivers/input/serio/i8042-x86ia64io.h
+++ b/drivers/input/serio/i8042-x86ia64io.h
@@ -272,6 +272,13 @@ static const struct dmi_system_id __initconst i8042_dmi_nomux_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S6230"),
},
},
+ {
+ /* Fujitsu Lifebook T725 laptop */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T725"),
+ },
+ },
{
/* Fujitsu Lifebook U745 */
.matches = {
@@ -840,6 +847,13 @@ static const struct dmi_system_id __initconst i8042_dmi_notimeout_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK AH544"),
},
},
+ {
+ /* Fujitsu Lifebook T725 laptop */
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "LIFEBOOK T725"),
+ },
+ },
{
/* Fujitsu U574 laptop */
/* https://bugzilla.kernel.org/show_bug.cgi?id=69731 */
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 63f0af10c403..195be16dbd39 100644
--- a/drivers/iommu/iommu.c
@ -1333,76 +1365,6 @@ index 8c3c1ef92171..18431236ab9f 100644
/*
* Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
* class code. Fix it.
diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 99ff2d23be05..0f8b7c93310e 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -2775,7 +2775,6 @@ int usb_add_hcd(struct usb_hcd *hcd,
{
int retval;
struct usb_device *rhdev;
- struct usb_hcd *shared_hcd;
if (!hcd->skip_phy_initialization && usb_hcd_is_primary_hcd(hcd)) {
hcd->phy_roothub = usb_phy_roothub_alloc(hcd->self.sysdev);
@@ -2936,26 +2935,13 @@ int usb_add_hcd(struct usb_hcd *hcd,
goto err_hcd_driver_start;
}
- /* starting here, usbcore will pay attention to the shared HCD roothub */
- shared_hcd = hcd->shared_hcd;
- if (!usb_hcd_is_primary_hcd(hcd) && shared_hcd && HCD_DEFER_RH_REGISTER(shared_hcd)) {
- retval = register_root_hub(shared_hcd);
- if (retval != 0)
- goto err_register_root_hub;
-
- if (shared_hcd->uses_new_polling && HCD_POLL_RH(shared_hcd))
- usb_hcd_poll_rh_status(shared_hcd);
- }
-
/* starting here, usbcore will pay attention to this root hub */
- if (!HCD_DEFER_RH_REGISTER(hcd)) {
- retval = register_root_hub(hcd);
- if (retval != 0)
- goto err_register_root_hub;
+ retval = register_root_hub(hcd);
+ if (retval != 0)
+ goto err_register_root_hub;
- if (hcd->uses_new_polling && HCD_POLL_RH(hcd))
- usb_hcd_poll_rh_status(hcd);
- }
+ if (hcd->uses_new_polling && HCD_POLL_RH(hcd))
+ usb_hcd_poll_rh_status(hcd);
return retval;
@@ -2999,7 +2985,6 @@ EXPORT_SYMBOL_GPL(usb_add_hcd);
void usb_remove_hcd(struct usb_hcd *hcd)
{
struct usb_device *rhdev = hcd->self.root_hub;
- bool rh_registered;
dev_info(hcd->self.controller, "remove, state %x\n", hcd->state);
@@ -3010,7 +2995,6 @@ void usb_remove_hcd(struct usb_hcd *hcd)
dev_dbg(hcd->self.controller, "roothub graceful disconnect\n");
spin_lock_irq (&hcd_root_hub_lock);
- rh_registered = hcd->rh_registered;
hcd->rh_registered = 0;
spin_unlock_irq (&hcd_root_hub_lock);
@@ -3020,8 +3004,7 @@ void usb_remove_hcd(struct usb_hcd *hcd)
cancel_work_sync(&hcd->died_work);
mutex_lock(&usb_bus_idr_lock);
- if (rh_registered)
- usb_disconnect(&rhdev); /* Sets rhdev to NULL */
+ usb_disconnect(&rhdev); /* Sets rhdev to NULL */
mutex_unlock(&usb_bus_idr_lock);
/*
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 86658a81d284..5647f4756e97 100644
--- a/drivers/usb/core/hub.c
@ -1421,18 +1383,123 @@ index 86658a81d284..5647f4756e97 100644
/* Lock the device, then check to see if we were
* disconnected while waiting for the lock to succeed. */
usb_lock_device(hdev);
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index cb730683f898..4e32b96ccc88 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -692,7 +692,6 @@ int xhci_run(struct usb_hcd *hcd)
if (ret)
xhci_free_command(xhci, command);
}
- set_bit(HCD_FLAG_DEFER_RH_REGISTER, &hcd->flags);
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"Finished xhci_run for USB2 roothub");
diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
index 575fa89a783f..b88dac844c5d 100644
--- a/drivers/usb/host/xhci-tegra.c
+++ b/drivers/usb/host/xhci-tegra.c
@@ -1400,6 +1400,7 @@ static void tegra_xusb_deinit_usb_phy(struct tegra_xusb *tegra)
static int tegra_xusb_probe(struct platform_device *pdev)
{
+ struct of_phandle_args args;
struct tegra_xusb *tegra;
struct device_node *np;
struct resource *regs;
@@ -1454,10 +1455,17 @@ static int tegra_xusb_probe(struct platform_device *pdev)
goto put_padctl;
}
- tegra->padctl_irq = of_irq_get(np, 0);
- if (tegra->padctl_irq <= 0) {
- err = (tegra->padctl_irq == 0) ? -ENODEV : tegra->padctl_irq;
- goto put_padctl;
+ /* Older device-trees don't have padctrl interrupt */
+ err = of_irq_parse_one(np, 0, &args);
+ if (!err) {
+ tegra->padctl_irq = of_irq_get(np, 0);
+ if (tegra->padctl_irq <= 0) {
+ err = (tegra->padctl_irq == 0) ? -ENODEV : tegra->padctl_irq;
+ goto put_padctl;
+ }
+ } else {
+ dev_dbg(&pdev->dev,
+ "%pOF is missing an interrupt, disabling PM support\n", np);
}
tegra->host_clk = devm_clk_get(&pdev->dev, "xusb_host");
@@ -1696,11 +1704,15 @@ static int tegra_xusb_probe(struct platform_device *pdev)
goto remove_usb3;
}
- err = devm_request_threaded_irq(&pdev->dev, tegra->padctl_irq, NULL, tegra_xusb_padctl_irq,
- IRQF_ONESHOT, dev_name(&pdev->dev), tegra);
- if (err < 0) {
- dev_err(&pdev->dev, "failed to request padctl IRQ: %d\n", err);
- goto remove_usb3;
+ if (tegra->padctl_irq) {
+ err = devm_request_threaded_irq(&pdev->dev, tegra->padctl_irq,
+ NULL, tegra_xusb_padctl_irq,
+ IRQF_ONESHOT, dev_name(&pdev->dev),
+ tegra);
+ if (err < 0) {
+ dev_err(&pdev->dev, "failed to request padctl IRQ: %d\n", err);
+ goto remove_usb3;
+ }
}
err = tegra_xusb_enable_firmware_messages(tegra);
@@ -1718,13 +1730,16 @@ static int tegra_xusb_probe(struct platform_device *pdev)
/* Enable wake for both USB 2.0 and USB 3.0 roothubs */
device_init_wakeup(&tegra->hcd->self.root_hub->dev, true);
device_init_wakeup(&xhci->shared_hcd->self.root_hub->dev, true);
- device_init_wakeup(tegra->dev, true);
pm_runtime_use_autosuspend(tegra->dev);
pm_runtime_set_autosuspend_delay(tegra->dev, 2000);
pm_runtime_mark_last_busy(tegra->dev);
pm_runtime_set_active(tegra->dev);
- pm_runtime_enable(tegra->dev);
+
+ if (tegra->padctl_irq) {
+ device_init_wakeup(tegra->dev, true);
+ pm_runtime_enable(tegra->dev);
+ }
return 0;
@@ -1772,7 +1787,9 @@ static int tegra_xusb_remove(struct platform_device *pdev)
dma_free_coherent(&pdev->dev, tegra->fw.size, tegra->fw.virt,
tegra->fw.phys);
- pm_runtime_disable(&pdev->dev);
+ if (tegra->padctl_irq)
+ pm_runtime_disable(&pdev->dev);
+
pm_runtime_put(&pdev->dev);
tegra_xusb_powergate_partitions(tegra);
diff --git a/fs/btrfs/async-thread.c b/fs/btrfs/async-thread.c
index 309516e6a968..d39af03b456c 100644
--- a/fs/btrfs/async-thread.c
+++ b/fs/btrfs/async-thread.c
@@ -234,6 +234,13 @@ static void run_ordered_work(struct __btrfs_workqueue *wq,
ordered_list);
if (!test_bit(WORK_DONE_BIT, &work->flags))
break;
+ /*
+ * Orders all subsequent loads after reading WORK_DONE_BIT,
+ * paired with the smp_mb__before_atomic in btrfs_work_helper
+ * this guarantees that the ordered function will see all
+ * updates from ordinary work function.
+ */
+ smp_rmb();
/*
* we are going to call the ordered done function, but
@@ -317,6 +324,13 @@ static void btrfs_work_helper(struct work_struct *normal_work)
thresh_exec_hook(wq);
work->func(work);
if (need_order) {
+ /*
+ * Ensures all memory accesses done in the work function are
+ * ordered before setting the WORK_DONE_BIT.Ensuring the thread
+ * which is going to executed the ordered work sees them.
+ * Pairs with the smp_rmb in run_ordered_work.
+ */
+ smp_mb__before_atomic();
set_bit(WORK_DONE_BIT, &work->flags);
run_ordered_work(wq, work);
} else {
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
index 2c9e26a44546..f96324912d6a 100644
--- a/fs/xfs/xfs_super.c
@ -1528,7 +1595,7 @@ index 6b5d36babfcc..fd4a5d66a9d0 100644
enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var)
{
diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h
index 2adeea44c0d5..517013ece679 100644
index 61590c1f2d33..4c10750865c2 100644
--- a/include/linux/lsm_hook_defs.h
+++ b/include/linux/lsm_hook_defs.h
@@ -394,6 +394,8 @@ LSM_HOOK(void, LSM_RET_VOID, bpf_prog_free_security, struct bpf_prog_aux *aux)
@ -1541,7 +1608,7 @@ index 2adeea44c0d5..517013ece679 100644
#ifdef CONFIG_PERF_EVENTS
LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type)
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 5c4c5c0602cb..753b53038690 100644
index 59024618554e..ab9ca4d393da 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -1545,6 +1545,12 @@
@ -1595,7 +1662,7 @@ index ab7eea01ab42..fff7c5f737fc 100644
int rmi_register_transport_device(struct rmi_transport_dev *xport);
diff --git a/include/linux/security.h b/include/linux/security.h
index 5b7288521300..f966f591c91e 100644
index 46a02ce34d00..37e991a10d70 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -472,6 +472,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen);
@ -1606,7 +1673,7 @@ index 5b7288521300..f966f591c91e 100644
#else /* CONFIG_SECURITY */
static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data)
@@ -1348,6 +1349,10 @@ static inline int security_locked_down(enum lockdown_reason what)
@@ -1353,6 +1354,10 @@ static inline int security_locked_down(enum lockdown_reason what)
{
return 0;
}
@ -1617,26 +1684,6 @@ index 5b7288521300..f966f591c91e 100644
#endif /* CONFIG_SECURITY */
#if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE)
diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h
index 2c1fc9212cf2..548a028f2dab 100644
--- a/include/linux/usb/hcd.h
+++ b/include/linux/usb/hcd.h
@@ -124,7 +124,6 @@ struct usb_hcd {
#define HCD_FLAG_RH_RUNNING 5 /* root hub is running? */
#define HCD_FLAG_DEAD 6 /* controller has died? */
#define HCD_FLAG_INTF_AUTHORIZED 7 /* authorize interfaces? */
-#define HCD_FLAG_DEFER_RH_REGISTER 8 /* Defer roothub registration */
/* The flags can be tested using these macros; they are likely to
* be slightly faster than test_bit().
@@ -135,7 +134,6 @@ struct usb_hcd {
#define HCD_WAKEUP_PENDING(hcd) ((hcd)->flags & (1U << HCD_FLAG_WAKEUP_PENDING))
#define HCD_RH_RUNNING(hcd) ((hcd)->flags & (1U << HCD_FLAG_RH_RUNNING))
#define HCD_DEAD(hcd) ((hcd)->flags & (1U << HCD_FLAG_DEAD))
-#define HCD_DEFER_RH_REGISTER(hcd) ((hcd)->flags & (1U << HCD_FLAG_DEFER_RH_REGISTER))
/*
* Specifies if interfaces are authorized by default
diff --git a/init/Kconfig b/init/Kconfig
index 55f9f7738ebb..564553afb251 100644
--- a/init/Kconfig
@ -1760,7 +1807,7 @@ index 87cbdc64d272..18555cf18da7 100644
static int __init lockdown_lsm_init(void)
diff --git a/security/security.c b/security/security.c
index 9ffa9e9c5c55..36484cc9842d 100644
index 67264cb08fb3..85a0227bfac1 100644
--- a/security/security.c
+++ b/security/security.c
@@ -2599,6 +2599,12 @@ int security_locked_down(enum lockdown_reason what)

View File

@ -1,4 +1,4 @@
SHA512 (kernel-abi-whitelists-5.13.19-100.tar.bz2) = aa42434b67960da00ae8b389c26ff8656a0e28af0e8650ad54b84d8dbaaf80a2878fda332ce42d82c032035c2ea86410087d67a242e4802e90e1b9c21701e32d
SHA512 (linux-5.14.16.tar.xz) = f4b84337b98423c41f6b910151d03215a9d38dcc81688d615dea83e63b60c65dc376e335c8d40966a3d5f7b0ef4ec58444894aacaea55ea99b62f328c0f205d3
SHA512 (kernel-abi-stablelists-5.14.16-101.tar.bz2) = 7aaebb648a849b75aea4234d43091133be63109876f76de478ec7a5f2de4f7c3169b4ec750d24551c58522e8f48857b2c6875d397b38cc9094e2f138b7692736
SHA512 (kernel-kabi-dw-5.14.16-101.tar.bz2) = 6d3435e20d5757c5f652c1b62e8b6a99a1194ebe4d53277b8cfde9112c458d88e7957db1ccfa1735c04370067c0733840119ae675ce47710d10163370bc4463b
SHA512 (linux-5.14.18.tar.xz) = 02637ceeefcaf4fede857980cbd6848ae6d181a9b050b1c6e6ba8fcf3822862944f5fa2522c42bf556785a5ac0baa6dc2ab643ed8f363817855ae393976bb6ec
SHA512 (kernel-abi-stablelists-5.14.18-100.tar.bz2) = d72013144717d86a4c37aa190877ac9aec93dc9f81d50a084a54f9a965d3f97e4dd438599fab11f9e6d8f83f74bfe38895bd04e7ec47851f0b825c204638af35
SHA512 (kernel-kabi-dw-5.14.18-100.tar.bz2) = 01afcac40bbbd02099677133aa803945e7d9f57d9d98d66d0831573156faa5aec1571a6b5e25b0b03c2ad055bbbed0e13618677c426e61d46e73ee42036308be