From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Slawomir Laba <slawomirx.laba@intel.com>,
Brett Creeley <brett.creeley@intel.com>,
Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>,
Konrad Jankowski <konrad0.jankowski@intel.com>,
Tony Nguyen <anthony.l.nguyen@intel.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 62/98] i40e: Fix removing driver while bare-metal VFs pass traffic
Date: Tue, 1 Dec 2020 09:53:39 +0100 [thread overview]
Message-ID: <20201201084658.122302837@linuxfoundation.org> (raw)
In-Reply-To: <20201201084652.827177826@linuxfoundation.org>
From: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
[ Upstream commit 2980cbd4dce7b1e9bf57df3ced43a7b184986f50 ]
Prevent VFs from resetting when PF driver is being unloaded:
- introduce new pf state: __I40E_VF_RESETS_DISABLED;
- check if pf state has __I40E_VF_RESETS_DISABLED state set,
if so, disable any further VFLR event notifications;
- when i40e_remove (rmmod i40e) is called, disable any resets on
the VFs;
Previously if there were bare-metal VFs passing traffic and PF
driver was removed, there was a possibility of VFs triggering a Tx
timeout right before iavf_remove. This was causing iavf_close to
not be called because there is a check in the beginning of iavf_remove
that bails out early if adapter->state < IAVF_DOWN_PENDING. This
makes it so some resources do not get cleaned up.
Fixes: 6a9ddb36eeb8 ("i40e: disable IOV before freeing resources")
Signed-off-by: Slawomir Laba <slawomirx.laba@intel.com>
Signed-off-by: Brett Creeley <brett.creeley@intel.com>
Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://lore.kernel.org/r/20201120180640.3654474-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/intel/i40e/i40e.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_main.c | 22 +++++++++++-----
.../ethernet/intel/i40e/i40e_virtchnl_pf.c | 26 +++++++++++--------
3 files changed, 31 insertions(+), 18 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 401304d4d5536..cfe99bae8e362 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -150,6 +150,7 @@ enum i40e_state_t {
__I40E_CLIENT_RESET,
__I40E_VIRTCHNL_OP_PENDING,
__I40E_RECOVERY_MODE,
+ __I40E_VF_RESETS_DISABLED, /* disable resets during i40e_remove */
/* This must be last as it determines the size of the BITMAP */
__I40E_STATE_SIZE__,
};
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index b3c3911adfc2e..2b4327416457d 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -3988,8 +3988,16 @@ static irqreturn_t i40e_intr(int irq, void *data)
}
if (icr0 & I40E_PFINT_ICR0_VFLR_MASK) {
- ena_mask &= ~I40E_PFINT_ICR0_ENA_VFLR_MASK;
- set_bit(__I40E_VFLR_EVENT_PENDING, pf->state);
+ /* disable any further VFLR event notifications */
+ if (test_bit(__I40E_VF_RESETS_DISABLED, pf->state)) {
+ u32 reg = rd32(hw, I40E_PFINT_ICR0_ENA);
+
+ reg &= ~I40E_PFINT_ICR0_VFLR_MASK;
+ wr32(hw, I40E_PFINT_ICR0_ENA, reg);
+ } else {
+ ena_mask &= ~I40E_PFINT_ICR0_ENA_VFLR_MASK;
+ set_bit(__I40E_VFLR_EVENT_PENDING, pf->state);
+ }
}
if (icr0 & I40E_PFINT_ICR0_GRST_MASK) {
@@ -15345,6 +15353,11 @@ static void i40e_remove(struct pci_dev *pdev)
while (test_bit(__I40E_RESET_RECOVERY_PENDING, pf->state))
usleep_range(1000, 2000);
+ if (pf->flags & I40E_FLAG_SRIOV_ENABLED) {
+ set_bit(__I40E_VF_RESETS_DISABLED, pf->state);
+ i40e_free_vfs(pf);
+ pf->flags &= ~I40E_FLAG_SRIOV_ENABLED;
+ }
/* no more scheduling of any task */
set_bit(__I40E_SUSPENDED, pf->state);
set_bit(__I40E_DOWN, pf->state);
@@ -15371,11 +15384,6 @@ static void i40e_remove(struct pci_dev *pdev)
*/
i40e_notify_client_of_netdev_close(pf->vsi[pf->lan_vsi], false);
- if (pf->flags & I40E_FLAG_SRIOV_ENABLED) {
- i40e_free_vfs(pf);
- pf->flags &= ~I40E_FLAG_SRIOV_ENABLED;
- }
-
i40e_fdir_teardown(pf);
/* If there is a switch structure or any orphans, remove them.
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 38042d610f82c..09ff3f335ffa6 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -1335,7 +1335,8 @@ static void i40e_cleanup_reset_vf(struct i40e_vf *vf)
* @vf: pointer to the VF structure
* @flr: VFLR was issued or not
*
- * Returns true if the VF is reset, false otherwise.
+ * Returns true if the VF is in reset, resets successfully, or resets
+ * are disabled and false otherwise.
**/
bool i40e_reset_vf(struct i40e_vf *vf, bool flr)
{
@@ -1345,11 +1346,14 @@ bool i40e_reset_vf(struct i40e_vf *vf, bool flr)
u32 reg;
int i;
+ if (test_bit(__I40E_VF_RESETS_DISABLED, pf->state))
+ return true;
+
/* If the VFs have been disabled, this means something else is
* resetting the VF, so we shouldn't continue.
*/
if (test_and_set_bit(__I40E_VF_DISABLE, pf->state))
- return false;
+ return true;
i40e_trigger_vf_reset(vf, flr);
@@ -1513,6 +1517,15 @@ void i40e_free_vfs(struct i40e_pf *pf)
i40e_notify_client_of_vf_enable(pf, 0);
+ /* Disable IOV before freeing resources. This lets any VF drivers
+ * running in the host get themselves cleaned up before we yank
+ * the carpet out from underneath their feet.
+ */
+ if (!pci_vfs_assigned(pf->pdev))
+ pci_disable_sriov(pf->pdev);
+ else
+ dev_warn(&pf->pdev->dev, "VFs are assigned - not disabling SR-IOV\n");
+
/* Amortize wait time by stopping all VFs at the same time */
for (i = 0; i < pf->num_alloc_vfs; i++) {
if (test_bit(I40E_VF_STATE_INIT, &pf->vf[i].vf_states))
@@ -1528,15 +1541,6 @@ void i40e_free_vfs(struct i40e_pf *pf)
i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[i].lan_vsi_idx]);
}
- /* Disable IOV before freeing resources. This lets any VF drivers
- * running in the host get themselves cleaned up before we yank
- * the carpet out from underneath their feet.
- */
- if (!pci_vfs_assigned(pf->pdev))
- pci_disable_sriov(pf->pdev);
- else
- dev_warn(&pf->pdev->dev, "VFs are assigned - not disabling SR-IOV\n");
-
/* free up VF resources */
tmp = pf->num_alloc_vfs;
pf->num_alloc_vfs = 0;
--
2.27.0
next prev parent reply other threads:[~2020-12-01 9:09 UTC|newest]
Thread overview: 110+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-01 8:52 [PATCH 5.4 00/98] 5.4.81-rc1 review Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 01/98] spi: bcm-qspi: Fix use-after-free on unbind Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 02/98] spi: bcm2835: " Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 03/98] ipv4: use IS_ENABLED instead of ifdef Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 04/98] netfilter: clear skb->next in NF_HOOK_LIST() Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 05/98] btrfs: tree-checker: add missing return after error in root_item Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 06/98] btrfs: tree-checker: add missing returns after data_ref alignment checks Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 07/98] btrfs: dont access possibly stale fs_info data for printing duplicate device Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 08/98] btrfs: fix lockdep splat when reading qgroup config on mount Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 09/98] wireless: Use linux/stddef.h instead of stddef.h Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 10/98] smb3: Call cifs reconnect from demultiplex thread Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 11/98] smb3: Avoid Mid pending list corruption Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 12/98] smb3: Handle error case during offload read path Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 13/98] cifs: fix a memleak with modefromsid Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 14/98] KVM: PPC: Book3S HV: XIVE: Fix possible oops when accessing ESB page Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 15/98] KVM: arm64: vgic-v3: Drop the reporting of GICR_TYPER.Last for userspace Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 16/98] KVM: x86: handle !lapic_in_kernel case in kvm_cpu_*_extint Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 17/98] KVM: x86: Fix split-irqchip vs interrupt injection window request Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 18/98] trace: fix potenial dangerous pointer Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 19/98] arm64: pgtable: Fix pte_accessible() Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 20/98] arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect() Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 21/98] HID: uclogic: Add ID for Trust Flex Design Tablet Greg Kroah-Hartman
2020-12-01 8:52 ` [PATCH 5.4 22/98] HID: ite: Replace ABS_MISC 120/121 events with touchpad on/off keypresses Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 23/98] HID: cypress: Support Varmilo Keyboards media hotkeys Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 24/98] HID: add support for Sega Saturn Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 25/98] Input: i8042 - allow insmod to succeed on devices without an i8042 controller Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 26/98] HID: hid-sensor-hub: Fix issue with devices with no report ID Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 27/98] staging: ralink-gdma: fix kconfig dependency bug for DMA_RALINK Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 28/98] HID: add HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE for Gamevice devices Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 29/98] dmaengine: xilinx_dma: use readl_poll_timeout_atomic variant Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 30/98] x86/xen: dont unbind uninitialized lock_kicker_irq Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 31/98] HID: logitech-hidpp: Add HIDPP_CONSUMER_VENDOR_KEYS quirk for the Dinovo Edge Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 32/98] HID: Add Logitech Dinovo Edge battery quirk Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 33/98] proc: dont allow async path resolution of /proc/self components Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 34/98] nvme: free sq/cq dbbuf pointers when dbbuf set fails Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 35/98] vhost scsi: fix cmd completion race Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 36/98] dmaengine: pl330: _prep_dma_memcpy: Fix wrong burst size Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 37/98] scsi: libiscsi: Fix NOP race condition Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 38/98] scsi: target: iscsi: Fix cmd abort fabric stop race Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 39/98] perf/x86: fix sysfs type mismatches Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 40/98] xtensa: uaccess: Add missing __user to strncpy_from_user() prototype Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 41/98] net: dsa: mv88e6xxx: Wait for EEPROM done after HW reset Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 42/98] bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 43/98] ARM: OMAP2+: Manage MPU state properly for omap_enter_idle_coupled() Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 44/98] phy: tegra: xusb: Fix dangling pointer on probe failure Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 45/98] iwlwifi: mvm: write queue_sync_state only for sync Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 46/98] batman-adv: set .owner to THIS_MODULE Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 47/98] arch: pgtable: define MAX_POSSIBLE_PHYSMEM_BITS where needed Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 48/98] ARM: dts: dra76x: m_can: fix order of clocks Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 49/98] scsi: ufs: Fix race between shutdown and runtime resume flow Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 50/98] bnxt_en: fix error return code in bnxt_init_one() Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 51/98] bnxt_en: fix error return code in bnxt_init_board() Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 52/98] video: hyperv_fb: Fix the cache type when mapping the VRAM Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 53/98] bnxt_en: Release PCI regions when DMA mask setup fails during probe Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 54/98] cxgb4: fix the panic caused by non smac rewrite Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 55/98] s390/qeth: make af_iucv TX notification call more robust Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 56/98] s390/qeth: fix af_iucv notification race Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 57/98] s390/qeth: fix tear down of async TX buffers Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 58/98] ibmvnic: fix call_netdevice_notifiers in do_reset Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 59/98] ibmvnic: notify peers when failover and migration happen Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 60/98] powerpc/64s: Fix allnoconfig build since uaccess flush Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 61/98] IB/mthca: fix return value of error branch in mthca_init_cq() Greg Kroah-Hartman
2020-12-01 8:53 ` Greg Kroah-Hartman [this message]
2020-12-01 8:53 ` [PATCH 5.4 63/98] nfc: s3fwrn5: use signed integer for parsing GPIO numbers Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 64/98] net: ena: set initial DMA width to avoid intel iommu issue Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 65/98] ibmvnic: fix NULL pointer dereference in reset_sub_crq_queues Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 66/98] ibmvnic: fix NULL pointer dereference in ibmvic_reset_crq Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 67/98] optee: add writeback to valid memory type Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 68/98] arm64: tegra: Wrong AON HSP reg property size Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 69/98] efivarfs: revert "fix memory leak in efivarfs_create()" Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 70/98] efi: EFI_EARLYCON should depend on EFI Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 71/98] can: gs_usb: fix endianess problem with candleLight firmware Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 72/98] platform/x86: thinkpad_acpi: Send tablet mode switch at wakeup time Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 73/98] platform/x86: toshiba_acpi: Fix the wrong variable assignment Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 74/98] RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 75/98] RDMA/hns: Bugfix for memory window mtpt configuration Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 76/98] can: m_can: m_can_open(): remove IRQF_TRIGGER_FALLING from request_threaded_irq()s flags Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 77/98] can: m_can: fix nominal bitiming tseg2 min for version >= 3.1 Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 78/98] perf stat: Use proper cpu for shadow stats Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 79/98] perf probe: Fix to die_entrypc() returns error correctly Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 80/98] spi: bcm2835aux: Restore err assignment in bcm2835aux_spi_probe Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 81/98] USB: core: Change %pK for __user pointers to %px Greg Kroah-Hartman
2020-12-01 8:53 ` [PATCH 5.4 82/98] usb: gadget: f_midi: Fix memleak in f_midi_alloc Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 83/98] USB: quirks: Add USB_QUIRK_DISCONNECT_SUSPEND quirk for Lenovo A630Z TIO built-in usb-audio card Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 84/98] usb: gadget: Fix memleak in gadgetfs_fill_super Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 85/98] irqchip/exiu: Fix the index of fwspec for IRQ type Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 86/98] x86/mce: Do not overwrite no_way_out if mce_end() fails Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 87/98] x86/speculation: Fix prctl() when spectre_v2_user={seccomp,prctl},ibpb Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 88/98] x86/resctrl: Remove superfluous kernfs_get() calls to prevent refcount leak Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 89/98] x86/resctrl: Add necessary kernfs_put() " Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 90/98] USB: core: Fix regression in Hercules audio card Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 91/98] ASoC: Intel: Skylake: Remove superfluous chip initialization Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 92/98] ASoC: Intel: Skylake: Select hda configuration permissively Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 93/98] ASoC: Intel: Skylake: Enable codec wakeup during chip init Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 94/98] ASoC: Intel: Skylake: Shield against no-NHLT configurations Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 95/98] ASoC: Intel: Allow for ROM init retry on CNL platforms Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 96/98] ASoC: Intel: Skylake: Await purge request ack on CNL Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 97/98] ASoC: Intel: Multiple I/O PCM format support for pipe Greg Kroah-Hartman
2020-12-01 8:54 ` Greg Kroah-Hartman
2020-12-01 8:54 ` [PATCH 5.4 98/98] ASoC: Intel: Skylake: Automatic DMIC format configuration according to information from NHLT Greg Kroah-Hartman
2020-12-01 13:39 ` [PATCH 5.4 00/98] 5.4.81-rc1 review Jon Hunter
2020-12-01 21:40 ` Guenter Roeck
2020-12-02 4:58 ` Naresh Kamboju
2020-12-02 16:57 ` Shuah Khan
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=20201201084658.122302837@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=anthony.l.nguyen@intel.com \
--cc=brett.creeley@intel.com \
--cc=konrad0.jankowski@intel.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sashal@kernel.org \
--cc=slawomirx.laba@intel.com \
--cc=stable@vger.kernel.org \
--cc=sylwesterx.dziedziuch@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.