From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Kai-Heng Feng <kai.heng.feng@canonical.com>,
Mika Westerberg <mika.westerberg@linux.intel.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 047/168] PCI: pciehp: Prevent deadlock on disconnect
Date: Tue, 28 Apr 2020 20:23:41 +0200 [thread overview]
Message-ID: <20200428182237.832101626@linuxfoundation.org> (raw)
In-Reply-To: <20200428182231.704304409@linuxfoundation.org>
From: Mika Westerberg <mika.westerberg@linux.intel.com>
[ Upstream commit 87d0f2a5536fdf5053a6d341880f96135549a644 ]
This addresses deadlocks in these common cases in hierarchies containing
two switches:
- All involved ports are runtime suspended and they are unplugged. This
can happen easily if the drivers involved automatically enable runtime
PM (xHCI for example does that).
- System is suspended (e.g., closing the lid on a laptop) with a dock +
something else connected, and the dock is unplugged while suspended.
These cases lead to the following deadlock:
INFO: task irq/126-pciehp:198 blocked for more than 120 seconds.
irq/126-pciehp D 0 198 2 0x80000000
Call Trace:
schedule+0x2c/0x80
schedule_timeout+0x246/0x350
wait_for_completion+0xb7/0x140
kthread_stop+0x49/0x110
free_irq+0x32/0x70
pcie_shutdown_notification+0x2f/0x50
pciehp_remove+0x27/0x50
pcie_port_remove_service+0x36/0x50
device_release_driver+0x12/0x20
bus_remove_device+0xec/0x160
device_del+0x13b/0x350
device_unregister+0x1a/0x60
remove_iter+0x1e/0x30
device_for_each_child+0x56/0x90
pcie_port_device_remove+0x22/0x40
pcie_portdrv_remove+0x20/0x60
pci_device_remove+0x3e/0xc0
device_release_driver_internal+0x18c/0x250
device_release_driver+0x12/0x20
pci_stop_bus_device+0x6f/0x90
pci_stop_bus_device+0x31/0x90
pci_stop_and_remove_bus_device+0x12/0x20
pciehp_unconfigure_device+0x88/0x140
pciehp_disable_slot+0x6a/0x110
pciehp_handle_presence_or_link_change+0x263/0x400
pciehp_ist+0x1c9/0x1d0
irq_thread_fn+0x24/0x60
irq_thread+0xeb/0x190
kthread+0x120/0x140
INFO: task irq/190-pciehp:2288 blocked for more than 120 seconds.
irq/190-pciehp D 0 2288 2 0x80000000
Call Trace:
__schedule+0x2a2/0x880
schedule+0x2c/0x80
schedule_preempt_disabled+0xe/0x10
mutex_lock+0x2c/0x30
pci_lock_rescan_remove+0x15/0x20
pciehp_unconfigure_device+0x4d/0x140
pciehp_disable_slot+0x6a/0x110
pciehp_handle_presence_or_link_change+0x263/0x400
pciehp_ist+0x1c9/0x1d0
irq_thread_fn+0x24/0x60
irq_thread+0xeb/0x190
kthread+0x120/0x140
What happens here is that the whole hierarchy is runtime resumed and the
parent PCIe downstream port, which got the hot-remove event, starts
removing devices below it, taking pci_lock_rescan_remove() lock. When the
child PCIe port is runtime resumed it calls pciehp_check_presence() which
ends up calling pciehp_card_present() and pciehp_check_link_active(). Both
of these use pcie_capability_read_word(), which notices that the underlying
device is already gone and returns PCIBIOS_DEVICE_NOT_FOUND with the
capability value set to 0. When pciehp gets this value it thinks that its
child device is also hot-removed and schedules its IRQ thread to handle the
event.
The deadlock happens when the child's IRQ thread runs and tries to acquire
pci_lock_rescan_remove() which is already taken by the parent and the
parent waits for the child's IRQ thread to finish.
Prevent this from happening by checking the return value of
pcie_capability_read_word() and if it is PCIBIOS_DEVICE_NOT_FOUND stop
performing any hot-removal activities.
[bhelgaas: add common scenarios to commit log]
Link: https://lore.kernel.org/r/20191029170022.57528-2-mika.westerberg@linux.intel.com
Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/pci/hotplug/pciehp.h | 6 ++--
drivers/pci/hotplug/pciehp_core.c | 11 ++++--
drivers/pci/hotplug/pciehp_ctrl.c | 4 +--
drivers/pci/hotplug/pciehp_hpc.c | 59 +++++++++++++++++++++++++------
4 files changed, 61 insertions(+), 19 deletions(-)
diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h
index 882ce82c46990..aa61d4c219d7b 100644
--- a/drivers/pci/hotplug/pciehp.h
+++ b/drivers/pci/hotplug/pciehp.h
@@ -174,10 +174,10 @@ void pciehp_set_indicators(struct controller *ctrl, int pwr, int attn);
void pciehp_get_latch_status(struct controller *ctrl, u8 *status);
int pciehp_query_power_fault(struct controller *ctrl);
-bool pciehp_card_present(struct controller *ctrl);
-bool pciehp_card_present_or_link_active(struct controller *ctrl);
+int pciehp_card_present(struct controller *ctrl);
+int pciehp_card_present_or_link_active(struct controller *ctrl);
int pciehp_check_link_status(struct controller *ctrl);
-bool pciehp_check_link_active(struct controller *ctrl);
+int pciehp_check_link_active(struct controller *ctrl);
void pciehp_release_ctrl(struct controller *ctrl);
int pciehp_sysfs_enable_slot(struct hotplug_slot *hotplug_slot);
diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c
index 56daad828c9e0..312cc45c44c78 100644
--- a/drivers/pci/hotplug/pciehp_core.c
+++ b/drivers/pci/hotplug/pciehp_core.c
@@ -139,10 +139,15 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
{
struct controller *ctrl = to_ctrl(hotplug_slot);
struct pci_dev *pdev = ctrl->pcie->port;
+ int ret;
pci_config_pm_runtime_get(pdev);
- *value = pciehp_card_present_or_link_active(ctrl);
+ ret = pciehp_card_present_or_link_active(ctrl);
pci_config_pm_runtime_put(pdev);
+ if (ret < 0)
+ return ret;
+
+ *value = ret;
return 0;
}
@@ -158,13 +163,13 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value)
*/
static void pciehp_check_presence(struct controller *ctrl)
{
- bool occupied;
+ int occupied;
down_read(&ctrl->reset_lock);
mutex_lock(&ctrl->state_lock);
occupied = pciehp_card_present_or_link_active(ctrl);
- if ((occupied && (ctrl->state == OFF_STATE ||
+ if ((occupied > 0 && (ctrl->state == OFF_STATE ||
ctrl->state == BLINKINGON_STATE)) ||
(!occupied && (ctrl->state == ON_STATE ||
ctrl->state == BLINKINGOFF_STATE)))
diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
index dd8e4a5fb2826..6503d15effbbd 100644
--- a/drivers/pci/hotplug/pciehp_ctrl.c
+++ b/drivers/pci/hotplug/pciehp_ctrl.c
@@ -226,7 +226,7 @@ void pciehp_handle_disable_request(struct controller *ctrl)
void pciehp_handle_presence_or_link_change(struct controller *ctrl, u32 events)
{
- bool present, link_active;
+ int present, link_active;
/*
* If the slot is on and presence or link has changed, turn it off.
@@ -257,7 +257,7 @@ void pciehp_handle_presence_or_link_change(struct controller *ctrl, u32 events)
mutex_lock(&ctrl->state_lock);
present = pciehp_card_present(ctrl);
link_active = pciehp_check_link_active(ctrl);
- if (!present && !link_active) {
+ if (present <= 0 && link_active <= 0) {
mutex_unlock(&ctrl->state_lock);
return;
}
diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c
index d74a71712cde4..356786a3b7f4b 100644
--- a/drivers/pci/hotplug/pciehp_hpc.c
+++ b/drivers/pci/hotplug/pciehp_hpc.c
@@ -201,17 +201,29 @@ static void pcie_write_cmd_nowait(struct controller *ctrl, u16 cmd, u16 mask)
pcie_do_write_cmd(ctrl, cmd, mask, false);
}
-bool pciehp_check_link_active(struct controller *ctrl)
+/**
+ * pciehp_check_link_active() - Is the link active
+ * @ctrl: PCIe hotplug controller
+ *
+ * Check whether the downstream link is currently active. Note it is
+ * possible that the card is removed immediately after this so the
+ * caller may need to take it into account.
+ *
+ * If the hotplug controller itself is not available anymore returns
+ * %-ENODEV.
+ */
+int pciehp_check_link_active(struct controller *ctrl)
{
struct pci_dev *pdev = ctrl_dev(ctrl);
u16 lnk_status;
- bool ret;
+ int ret;
- pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status);
- ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA);
+ ret = pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status);
+ if (ret == PCIBIOS_DEVICE_NOT_FOUND || lnk_status == (u16)~0)
+ return -ENODEV;
- if (ret)
- ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status);
+ ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA);
+ ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status);
return ret;
}
@@ -373,13 +385,29 @@ void pciehp_get_latch_status(struct controller *ctrl, u8 *status)
*status = !!(slot_status & PCI_EXP_SLTSTA_MRLSS);
}
-bool pciehp_card_present(struct controller *ctrl)
+/**
+ * pciehp_card_present() - Is the card present
+ * @ctrl: PCIe hotplug controller
+ *
+ * Function checks whether the card is currently present in the slot and
+ * in that case returns true. Note it is possible that the card is
+ * removed immediately after the check so the caller may need to take
+ * this into account.
+ *
+ * It the hotplug controller itself is not available anymore returns
+ * %-ENODEV.
+ */
+int pciehp_card_present(struct controller *ctrl)
{
struct pci_dev *pdev = ctrl_dev(ctrl);
u16 slot_status;
+ int ret;
- pcie_capability_read_word(pdev, PCI_EXP_SLTSTA, &slot_status);
- return slot_status & PCI_EXP_SLTSTA_PDS;
+ ret = pcie_capability_read_word(pdev, PCI_EXP_SLTSTA, &slot_status);
+ if (ret == PCIBIOS_DEVICE_NOT_FOUND || slot_status == (u16)~0)
+ return -ENODEV;
+
+ return !!(slot_status & PCI_EXP_SLTSTA_PDS);
}
/**
@@ -390,10 +418,19 @@ bool pciehp_card_present(struct controller *ctrl)
* Presence Detect State bit, this helper also returns true if the Link Active
* bit is set. This is a concession to broken hotplug ports which hardwire
* Presence Detect State to zero, such as Wilocity's [1ae9:0200].
+ *
+ * Returns: %1 if the slot is occupied and %0 if it is not. If the hotplug
+ * port is not present anymore returns %-ENODEV.
*/
-bool pciehp_card_present_or_link_active(struct controller *ctrl)
+int pciehp_card_present_or_link_active(struct controller *ctrl)
{
- return pciehp_card_present(ctrl) || pciehp_check_link_active(ctrl);
+ int ret;
+
+ ret = pciehp_card_present(ctrl);
+ if (ret)
+ return ret;
+
+ return pciehp_check_link_active(ctrl);
}
int pciehp_query_power_fault(struct controller *ctrl)
--
2.20.1
next prev parent reply other threads:[~2020-04-28 18:51 UTC|newest]
Thread overview: 173+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-28 18:22 [PATCH 5.4 000/168] 5.4.36-rc1 review Greg Kroah-Hartman
2020-04-28 18:22 ` [PATCH 5.4 001/168] ext4: fix extent_status fragmentation for plain files Greg Kroah-Hartman
2020-04-28 18:22 ` [PATCH 5.4 002/168] f2fs: fix to avoid memory leakage in f2fs_listxattr Greg Kroah-Hartman
2020-04-28 18:22 ` [PATCH 5.4 003/168] net, ip_tunnel: fix interface lookup with no key Greg Kroah-Hartman
2020-04-28 18:22 ` [PATCH 5.4 004/168] arm64: errata: Hide CTR_EL0.DIC on systems affected by Neoverse-N1 #1542419 Greg Kroah-Hartman
2020-04-28 18:22 ` [PATCH 5.4 005/168] arm64: Fake the IminLine size " Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 006/168] arm64: compat: Workaround Neoverse-N1 #1542419 for compat user-space Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 007/168] arm64: Silence clang warning on mismatched value/register sizes Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 008/168] tools/testing/nvdimm: Fix compilation failure without CONFIG_DEV_DAX_PMEM_COMPAT Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 009/168] watchdog: reset last_hw_keepalive time at start Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 010/168] scsi: lpfc: Fix kasan slab-out-of-bounds error in lpfc_unreg_login Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 011/168] scsi: lpfc: Fix crash after handling a pci error Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 012/168] scsi: lpfc: Fix crash in target side cable pulls hitting WAIT_FOR_UNREG Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 013/168] scsi: libfc: If PRLI rejected, move rport to PLOGI state Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 014/168] ceph: return ceph_mdsc_do_request() errors from __get_parent() Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 015/168] ceph: dont skip updating wanted caps when cap is stale Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 016/168] pwm: rcar: Fix late Runtime PM enablement Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 017/168] nvme-tcp: fix possible crash in write_zeroes processing Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 018/168] scsi: iscsi: Report unbind session event when the target has been removed Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 019/168] tools/test/nvdimm: Fix out of tree build Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 020/168] ASoC: Intel: atom: Take the drv->lock mutex before calling sst_send_slot_map() Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 021/168] nvme: fix deadlock caused by ANA update wrong locking Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 022/168] drm/amd/display: Update stream adjust in dc_stream_adjust_vmin_vmax Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 023/168] dma-direct: fix data truncation in dma_direct_get_required_mask() Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 024/168] kernel/gcov/fs.c: gcov_seq_next() should increase position index Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 025/168] selftests: kmod: fix handling test numbers above 9 Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 026/168] ipc/util.c: sysvipc_find_ipc() should increase position index Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 027/168] kconfig: qconf: Fix a few alignment issues Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 028/168] lib/raid6/test: fix build on distros whose /bin/sh is not bash Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 029/168] s390/cio: generate delayed uevent for vfio-ccw subchannels Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 030/168] s390/cio: avoid duplicated ADD uevents Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 031/168] loop: Better discard support for block devices Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 032/168] Revert "powerpc/64: irq_work avoid interrupt when called with hardware irqs enabled" Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 033/168] powerpc/pseries: Fix MCE handling on pseries Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 034/168] nvme: fix compat address handling in several ioctls Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 035/168] pwm: renesas-tpu: Fix late Runtime PM enablement Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 036/168] pwm: bcm2835: Dynamically allocate base Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 037/168] perf/core: Disable page faults when getting phys address Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 038/168] drm/amd/display: Calculate scaling ratios on every medium/full update Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 039/168] ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN MPWIN895CL tablet Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 040/168] ALSA: usb-audio: Add Pioneer DJ DJM-250MK2 quirk Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 041/168] xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 042/168] xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 043/168] xhci: Finetune host initiated USB3 rootport link suspend and resume Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 044/168] drm/amd/display: Not doing optimize bandwidth if flip pending Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 045/168] PCI/PM: Add pcie_wait_for_link_delay() Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 046/168] libbpf: Fix readelf output parsing on powerpc with recent binutils Greg Kroah-Hartman
2020-04-28 18:23 ` Greg Kroah-Hartman [this message]
2020-04-28 18:23 ` [PATCH 5.4 048/168] ASoC: SOF: trace: fix unconditional free in trace release Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 049/168] tracing/selftests: Turn off timeout setting Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 050/168] virtio-blk: improve virtqueue error to BLK_STS Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 051/168] scsi: smartpqi: fix controller lockup observed during force reboot Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 052/168] scsi: smartpqi: fix call trace in device discovery Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 053/168] scsi: smartpqi: fix problem with unique ID for physical device Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 054/168] PCI/ASPM: Allow re-enabling Clock PM Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 055/168] PCI/PM: Add missing link delays required by the PCIe spec Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 056/168] cxgb4: fix adapter crash due to wrong MC size Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 057/168] cxgb4: fix large delays in PTP synchronization Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 058/168] ipv4: Update fib_select_default to handle nexthop objects Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 059/168] ipv6: fix restrict IPV6_ADDRFORM operation Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 060/168] macsec: avoid to set wrong mtu Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 061/168] macvlan: fix null dereference in macvlan_device_event() Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 062/168] mlxsw: Fix some IS_ERR() vs NULL bugs Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 063/168] net: bcmgenet: correct per TX/RX ring statistics Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 064/168] net/mlx4_en: avoid indirect call in TX completion Greg Kroah-Hartman
2020-04-28 18:23 ` [PATCH 5.4 065/168] net: netrom: Fix potential nr_neigh refcnt leak in nr_add_node Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 066/168] net: openvswitch: ovs_ct_exit to be done under ovs_lock Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 067/168] net: stmmac: dwmac-meson8b: Add missing boundary to RGMII TX clock array Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 068/168] net/x25: Fix x25_neigh refcnt leak when receiving frame Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 069/168] sched: etf: do not assume all sockets are full blown Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 070/168] selftests: Fix suppress test in fib_tests.sh Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 071/168] tcp: cache line align MAX_TCP_HEADER Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 072/168] team: fix hang in team_mode_get() Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 073/168] vrf: Fix IPv6 with qdisc and xfrm Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 074/168] net: dsa: b53: Lookup VID in ARL searches when VLAN is enabled Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 075/168] net: dsa: b53: Fix valid setting for MDB entries Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 076/168] net: dsa: b53: Fix ARL register definitions Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 077/168] net: dsa: b53: Rework ARL bin logic Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 078/168] net: dsa: b53: b53_arl_rw_op() needs to select IVL or SVL Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 079/168] vxlan: use the correct nlattr array in NL_SET_ERR_MSG_ATTR Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 080/168] geneve: " Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 081/168] xfrm: Always set XFRM_TRANSFORMED in xfrm{4,6}_output_finish Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 082/168] vrf: Check skb for XFRM_TRANSFORMED flag Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 083/168] KEYS: Avoid false positive ENOMEM error on key read Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 084/168] ALSA: hda: Remove ASUS ROG Zenith from the blacklist Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 085/168] ALSA: usb-audio: Add static mapping table for ALC1220-VB-based mobos Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 086/168] ALSA: usb-audio: Add connector notifier delegation Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 087/168] iio: core: remove extra semi-colon from devm_iio_device_register() macro Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 088/168] iio: st_sensors: rely on odr mask to know if odr can be set Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 089/168] iio: adc: stm32-adc: fix sleep in atomic context Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 090/168] iio: adc: ti-ads8344: properly byte swap value Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 091/168] iio: xilinx-xadc: Fix ADC-B powerdown Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 092/168] iio: xilinx-xadc: Fix clearing interrupt when enabling trigger Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 093/168] iio: xilinx-xadc: Fix sequencer configuration for aux channels in simultaneous mode Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 094/168] iio: xilinx-xadc: Make sure not exceed maximum samplerate Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 095/168] USB: sisusbvga: Change port variable from signed to unsigned Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 096/168] USB: Add USB_QUIRK_DELAY_CTRL_MSG and USB_QUIRK_DELAY_INIT for Corsair K70 RGB RAPIDFIRE Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 097/168] USB: early: Handle AMDs spec-compliant identifiers, too Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 098/168] USB: core: Fix free-while-in-use bug in the USB S-Glibrary Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 099/168] USB: hub: Fix handling of connect changes during sleep Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 100/168] USB: hub: Revert commit bd0e6c9614b9 ("usb: hub: try old enumeration scheme first for high speed devices") Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 101/168] tty: serial: owl: add "much needed" clk_prepare_enable() Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 102/168] vmalloc: fix remap_vmalloc_range() bounds checks Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 103/168] staging: gasket: Fix incongruency in handling of sysfs entries creation Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 104/168] coredump: fix null pointer dereference on coredump Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 105/168] mm/hugetlb: fix a addressing exception caused by huge_pte_offset Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 106/168] mm/ksm: fix NULL pointer dereference when KSM zero page is enabled Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 107/168] tools/vm: fix cross-compile build Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 108/168] ALSA: usx2y: Fix potential NULL dereference Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 109/168] ALSA: hda/realtek - Fix unexpected init_amp override Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 110/168] ALSA: hda/realtek - Add new codec supported for ALC245 Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 111/168] ALSA: hda/hdmi: Add module option to disable audio component binding Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 112/168] ALSA: usb-audio: Fix usb audio refcnt leak when getting spdif Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 113/168] ALSA: usb-audio: Filter out unsupported sample rates on Focusrite devices Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 114/168] tpm/tpm_tis: Free IRQ if probing fails Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 115/168] tpm: fix wrong return value in tpm_pcr_extend Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 116/168] tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 117/168] KVM: s390: Return last valid slot if approx index is out-of-bounds Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 118/168] KVM: Check validity of resolved slot when searching memslots Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 119/168] KVM: VMX: Enable machine check support for 32bit targets Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 120/168] tty: hvc: fix buffer overflow during hvc_alloc() Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 121/168] tty: rocket, avoid OOB access Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 122/168] usb-storage: Add unusual_devs entry for JMicron JMS566 Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 123/168] signal: Avoid corrupting si_pid and si_uid in do_notify_parent Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 124/168] audit: check the length of userspace generated audit records Greg Kroah-Hartman
2020-04-28 18:24 ` [PATCH 5.4 125/168] ASoC: dapm: fixup dapm kcontrol widget Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 126/168] mac80211: populate debugfs only after cfg80211 init Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 127/168] SUNRPC: Fix backchannel RPC soft lockups Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 128/168] iwlwifi: pcie: actually release queue memory in TVQM Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 129/168] iwlwifi: mvm: beacon statistics shouldnt go backwards Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 130/168] iwlwifi: mvm: limit maximum queue appropriately Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 131/168] iwlwifi: mvm: Do not declare support for ACK Enabled Aggregation Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 132/168] iwlwifi: mvm: fix inactive TID removal return value usage Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 133/168] cifs: fix uninitialised lease_key in open_shroot() Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 134/168] ARM: imx: provide v7_cpu_resume() only on ARM_CPU_SUSPEND=y Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 135/168] powerpc/setup_64: Set cache-line-size based on cache-block-size Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 136/168] staging: comedi: dt2815: fix writing hi byte of analog output Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 137/168] staging: comedi: Fix comedi_device refcnt leak in comedi_open Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 138/168] vt: dont hardcode the mem allocation upper bound Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 139/168] vt: dont use kmalloc() for the unicode screen buffer Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 140/168] staging: vt6656: Dont set RCR_MULTICAST or RCR_BROADCAST by default Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 141/168] staging: vt6656: Fix calling conditions of vnt_set_bss_mode Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 142/168] staging: vt6656: Fix drivers TBTT timing counter Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 143/168] staging: vt6656: Fix pairwise key entry save Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 144/168] staging: vt6656: Power save stop wake_up_count wrap around Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 145/168] cdc-acm: close race betrween suspend() and acm_softint Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 146/168] cdc-acm: introduce a cool down Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 147/168] UAS: no use logging any details in case of ENODEV Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 148/168] UAS: fix deadlock in error handling and PM flushing work Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 149/168] fpga: dfl: pci: fix return value of cci_pci_sriov_configure Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 150/168] usb: dwc3: gadget: Fix request completion check Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 151/168] usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 152/168] usb: typec: tcpm: Ignore CC and vbus changes in PORT_RESET change Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 153/168] usb: typec: altmode: Fix typec_altmode_get_partner sometimes returning an invalid pointer Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 154/168] xhci: Fix handling halted endpoint even if endpoint ring appears empty Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 155/168] xhci: prevent bus suspend if a roothub port detected a over-current condition Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 156/168] xhci: Dont clear hub TT buffer on ep0 protocol stall Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 157/168] serial: sh-sci: Make sure status register SCxSR is read in correct sequence Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 158/168] Revert "serial: uartps: Fix uartps_major handling" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 159/168] Revert "serial: uartps: Use the same dynamic major number for all ports" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 160/168] Revert "serial: uartps: Fix error path when alloc failed" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 161/168] Revert "serial: uartps: Do not allow use aliases >= MAX_UART_INSTANCES" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 162/168] Revert "serial: uartps: Change uart ID port allocation" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 163/168] Revert "serial: uartps: Move Port ID to device data structure" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 164/168] Revert "serial: uartps: Register own uart console and driver structures" Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 165/168] powerpc/kuap: PPC_KUAP_DEBUG should depend on PPC_KUAP Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 166/168] powerpc/mm: Fix CONFIG_PPC_KUAP_DEBUG on PPC32 Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 167/168] compat: ARM64: always include asm-generic/compat.h Greg Kroah-Hartman
2020-04-28 18:25 ` [PATCH 5.4 168/168] s390/mm: fix page table upgrade vs 2ndary address mode accesses Greg Kroah-Hartman
2020-04-29 0:43 ` [PATCH 5.4 000/168] 5.4.36-rc1 review shuah
2020-04-29 10:17 ` Jon Hunter
2020-04-29 10:37 ` Naresh Kamboju
2020-04-29 14:05 ` Guenter Roeck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200428182237.832101626@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=bhelgaas@google.com \
--cc=kai.heng.feng@canonical.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mika.westerberg@linux.intel.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).