public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Shannon Nelson <shannon.nelson@amd.com>,
	Brett Creeley <brett.creeley@amd.com>,
	"David S . Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>,
	drivers@pensando.io, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, cai.huoqing@linux.dev, leon@kernel.org,
	florian.fainelli@broadcom.com, nitya.sunkad@amd.com,
	allen.hubbe@amd.com, Julia.Lawall@inria.fr,
	justinstitt@google.com, netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 6.7 062/108] ionic: bypass firmware cmds when stuck in reset
Date: Tue, 16 Jan 2024 14:39:28 -0500	[thread overview]
Message-ID: <20240116194225.250921-62-sashal@kernel.org> (raw)
In-Reply-To: <20240116194225.250921-1-sashal@kernel.org>

From: Shannon Nelson <shannon.nelson@amd.com>

[ Upstream commit ca5fdf9a7c5b65968c718f2be159cda4c13556a1 ]

If the driver or firmware is stuck in reset state, don't bother
trying to use adminq commands.  This speeds up shutdown and
prevents unnecessary timeouts and error messages.

This includes a bit of rework on ionic_adminq_post_wait()
and ionic_adminq_post_wait_nomsg() to both use
__ionic_adminq_post_wait() which can do the checks needed in
both cases.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../ethernet/pensando/ionic/ionic_bus_pci.c   |  4 ++++
 .../net/ethernet/pensando/ionic/ionic_lif.c   |  3 +++
 .../net/ethernet/pensando/ionic/ionic_main.c  | 20 ++++++++++++-------
 3 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
index d6ce113a4210..fa4237c27e06 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c
@@ -392,6 +392,10 @@ static void ionic_remove(struct pci_dev *pdev)
 	del_timer_sync(&ionic->watchdog_timer);
 
 	if (ionic->lif) {
+		/* prevent adminq cmds if already known as down */
+		if (test_and_clear_bit(IONIC_LIF_F_FW_RESET, ionic->lif->state))
+			set_bit(IONIC_LIF_F_FW_STOPPING, ionic->lif->state);
+
 		ionic_lif_unregister(ionic->lif);
 		ionic_devlink_unregister(ionic);
 		ionic_lif_deinit(ionic->lif);
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
index bad919343180..075e0e3fc2ea 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c
@@ -3238,6 +3238,9 @@ static void ionic_lif_reset(struct ionic_lif *lif)
 {
 	struct ionic_dev *idev = &lif->ionic->idev;
 
+	if (!ionic_is_fw_running(idev))
+		return;
+
 	mutex_lock(&lif->ionic->dev_cmd_lock);
 	ionic_dev_cmd_lif_reset(idev, lif->index);
 	ionic_dev_cmd_wait(lif->ionic, DEVCMD_TIMEOUT);
diff --git a/drivers/net/ethernet/pensando/ionic/ionic_main.c b/drivers/net/ethernet/pensando/ionic/ionic_main.c
index 1b547acfd8e9..83c413a10f79 100644
--- a/drivers/net/ethernet/pensando/ionic/ionic_main.c
+++ b/drivers/net/ethernet/pensando/ionic/ionic_main.c
@@ -410,22 +410,28 @@ int ionic_adminq_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx,
 				      do_msg);
 }
 
-int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx)
+static int __ionic_adminq_post_wait(struct ionic_lif *lif,
+				    struct ionic_admin_ctx *ctx,
+				    const bool do_msg)
 {
 	int err;
 
+	if (!ionic_is_fw_running(&lif->ionic->idev))
+		return 0;
+
 	err = ionic_adminq_post(lif, ctx);
 
-	return ionic_adminq_wait(lif, ctx, err, true);
+	return ionic_adminq_wait(lif, ctx, err, do_msg);
 }
 
-int ionic_adminq_post_wait_nomsg(struct ionic_lif *lif, struct ionic_admin_ctx *ctx)
+int ionic_adminq_post_wait(struct ionic_lif *lif, struct ionic_admin_ctx *ctx)
 {
-	int err;
-
-	err = ionic_adminq_post(lif, ctx);
+	return __ionic_adminq_post_wait(lif, ctx, true);
+}
 
-	return ionic_adminq_wait(lif, ctx, err, false);
+int ionic_adminq_post_wait_nomsg(struct ionic_lif *lif, struct ionic_admin_ctx *ctx)
+{
+	return __ionic_adminq_post_wait(lif, ctx, false);
 }
 
 static void ionic_dev_cmd_clean(struct ionic *ionic)
-- 
2.43.0


  parent reply	other threads:[~2024-01-16 19:45 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-16 19:38 [PATCH AUTOSEL 6.7 001/108] wifi: rtw89: fix timeout calculation in rtw89_roc_end() Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 002/108] wifi: rt2x00: restart beacon queue when hardware reset Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 003/108] selftests/bpf: fix RELEASE=1 build for tc_opts Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 004/108] selftests/bpf: satisfy compiler by having explicit return in btf test Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 005/108] libbpf: Fix potential uninitialized tail padding with LIBBPF_OPTS_RESET Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 006/108] selftests/bpf: Fix pyperf180 compilation failure with clang18 Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 007/108] wifi: rt2x00: correct wrong BBP register in RxDCOC calibration Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 008/108] selftests/bpf: Fix issues in setup_classid_environment() Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 009/108] ARM: dts: qcom: strip prefix from PMIC files Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 010/108] ARM: dts: qcom: apq8064: fix PMIC node labels Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 011/108] ARM: dts: qcom: mdm9615: " Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 012/108] ARM: dts: qcom: msm8660: " Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 013/108] ARM: dts: qcom: msm8960: " Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 014/108] soc: xilinx: Fix for call trace due to the usage of smp_processor_id() Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 015/108] soc: xilinx: fix unhandled SGI warning message Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 016/108] scsi: lpfc: Fix possible file string name overflow when updating firmware Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 017/108] ARM: dts: samsung: exynos4: fix camera unit addresses/ranges Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 018/108] ARM: dts: samsung: s5pv210: " Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 019/108] net: phy: micrel: fix ts_info value in case of no phc Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 020/108] PCI: Add no PM reset quirk for NVIDIA Spectrum devices Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 021/108] r8169: improve RTL8411b phy-down fixup Sasha Levin
2024-01-17  1:43   ` Jakub Kicinski
2024-01-17 10:30     ` Mirsad Todorovac
2024-01-17 11:10       ` Heiner Kallweit
2024-01-17 13:44       ` Andrew Lunn
2024-01-17 16:35         ` Mirsad Todorovac
2024-01-17 17:04           ` Andrew Lunn
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 022/108] bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 023/108] net: usb: ax88179_178a: avoid two consecutive device resets Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 024/108] wifi: ieee80211: fix PV1 frame control field name Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 025/108] scsi: mpi3mr: Add support for SAS5116 PCI IDs Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 026/108] scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116 Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 027/108] scsi: arcmsr: Support new PCI device IDs 1883 and 1886 Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 028/108] ARM: dts: imx7d: Fix coresight funnel ports Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 029/108] ARM: dts: imx7s: Fix lcdif compatible Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 030/108] ARM: dts: imx7s: Fix nand-controller #size-cells Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 031/108] bpf: Fix a few selftest failures due to llvm18 change Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 032/108] wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus() Sasha Levin
2024-01-16 19:38 ` [PATCH AUTOSEL 6.7 033/108] wifi: ath11k: fix race due to setting ATH11K_FLAG_EXT_IRQ_ENABLED too early Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 034/108] wifi: rtw89: fix not entering PS mode after AP stops Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 035/108] wifi: rtw89: fix misbehavior of TX beacon in concurrent mode Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 036/108] bnxt_en: Add 5760X (P7) PCI IDs Sasha Levin
2024-01-16 19:47   ` Michael Chan
2024-01-30 21:44     ` Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 037/108] bpf: Check rcu_read_lock_trace_held() before calling bpf map helpers Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 038/108] bpf: Add map and need_defer parameters to .map_fd_put_ptr() Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 039/108] bpf: Set need_defer as false when clearing fd array during map free Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 040/108] wifi: ath12k: fix and enable AP mode for WCN7850 Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 041/108] scsi: libfc: Don't schedule abort twice Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 042/108] scsi: libfc: Fix up timeout error in fc_fcp_rec_error() Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 043/108] net: mvmdio: Avoid excessive sleeps in polled mode Sasha Levin
2024-01-17  1:42   ` Jakub Kicinski
2024-01-17  1:54     ` Andrew Lunn
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 044/108] usb: typec: ucsi: fix UCSI on buggy Qualcomm devices Sasha Levin
2024-01-17  8:04   ` Johan Hovold
2024-01-17 12:17     ` Dmitry Baryshkov
2024-01-17 12:51       ` Johan Hovold
2024-01-17 16:04       ` Greg KH
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 045/108] arm64: dts: qcom: sm8550: fix soundwire controllers node name Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 046/108] arm64: dts: qcom: sm8450: " Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 047/108] arm64: dts: qcom: sm8350: Fix remoteproc interrupt type Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 048/108] wifi: mt76: connac: fix EHT phy mode check Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 049/108] wifi: mt76: mt7996: add PCI IDs for mt7992 Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 050/108] net: wangxun: fix changing mac failed when running Sasha Levin
2024-01-17  1:39   ` Jakub Kicinski
2024-01-30 22:51     ` Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 051/108] bpf: Guard stack limits against 32bit overflow Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 052/108] bpf: Set uattr->batch.count as zero before batched update or deletion Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 053/108] wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap() Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 054/108] wifi: ath12k: fix the issue that the multicast/broadcast indicator is not read correctly for WCN7850 Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 055/108] ARM: dts: rockchip: fix rk3036 hdmi ports node Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 056/108] ARM: dts: imx25/27-eukrea: Fix RTC node name Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 057/108] ARM: dts: imx: Use flash@0,0 pattern Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 058/108] ARM: dts: imx27: Fix sram node Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 059/108] ARM: dts: imx1: " Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 060/108] net: phy: at803x: fix passing the wrong reference for config_intr Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 061/108] ionic: pass opcode to devcmd_wait Sasha Levin
2024-01-16 19:39 ` Sasha Levin [this message]
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 063/108] block/rnbd-srv: Check for unlikely string overflow Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 064/108] arm64: zynqmp: Move fixed clock to / for kv260 Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 065/108] arm64: zynqmp: Fix clock node name in kv260 cards Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 066/108] selftests/bpf: fix compiler warnings in RELEASE=1 mode Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 067/108] ARM: dts: imx25: Fix the iim compatible string Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 068/108] ARM: dts: imx25/27: Pass timing0 Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 069/108] ARM: dts: imx27-apf27dev: Fix LED name Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 070/108] ARM: dts: imx23-sansa: Use preferred i2c-gpios properties Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 071/108] ARM: dts: imx23/28: Fix the DMA controller node name Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 072/108] scsi: lpfc: Reinitialize an NPIV's VMID data structures after FDISC Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 073/108] scsi: lpfc: Move determination of vmid_flag after VMID reinitialization completes Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 074/108] scsi: hisi_sas: Set .phy_attached before notifing phyup event HISI_PHYE_PHY_UP_PM Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 075/108] ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 076/108] net: atlantic: eliminate double free in error handling logic Sasha Levin
2024-01-17  1:38   ` Jakub Kicinski
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 077/108] net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 078/108] ARM: dts: marvell: Fix some common switch mistakes Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 079/108] ARM64: " Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 080/108] block: prevent an integer overflow in bvec_try_merge_hw_page Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 081/108] md: Whenassemble the array, consult the superblock of the freshest device Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 082/108] cfi: Add CFI_NOSEAL() Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 083/108] x86/cfi,bpf: Fix bpf_exception_cb() signature Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 084/108] arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 085/108] arm64: dts: qcom: msm8998: Fix 'out-ports' " Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 086/108] arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 087/108] intel: add bit macro includes where needed Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 088/108] ice: fix pre-shifted bit usage Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 089/108] arm64: dts: amlogic: fix format for s4 uart node Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 090/108] wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 091/108] wifi: rtw89: coex: Fix wrong Wi-Fi role info and FDDT parameter members Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 092/108] libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos Sasha Levin
2024-01-16 19:39 ` [PATCH AUTOSEL 6.7 093/108] wifi: rtlwifi: add calculate_bit_shift() Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 094/108] wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift() Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 095/108] wifi: cfg80211: free beacon_ies when overridden from hidden BSS Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 096/108] Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066 Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 097/108] Bluetooth: ISO: Avoid creating child socket if PA sync is terminating Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 098/108] Bluetooth: hci_sync: fix BR/EDR wakeup bug Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 099/108] Bluetooth: L2CAP: Fix possible multiple reject send Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 100/108] net/smc: disable SEID on non-s390 archs where virtual ISM may be used Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 101/108] bridge: cfm: fix enum typo in br_cc_ccm_tx_parse Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 102/108] arm64: dts: sprd: Add clock reference for pll2 on UMS512 Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 103/108] arm64: dts: sprd: Change UMS512 idle-state nodename to match bindings Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 104/108] i40e: Fix VF disable behavior to block all traffic Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 105/108] octeontx2-af: Fix max NPC MCAM entry check while validating ref_entry Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 106/108] net: kcm: fix direct access to bv_len Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 107/108] net: dsa: qca8k: put MDIO bus OF node on qca8k_mdio_register() failure Sasha Levin
2024-01-16 19:40 ` [PATCH AUTOSEL 6.7 108/108] ARM: dts: usr8200: Fix phy registers Sasha Levin

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=20240116194225.250921-62-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=Julia.Lawall@inria.fr \
    --cc=allen.hubbe@amd.com \
    --cc=brett.creeley@amd.com \
    --cc=cai.huoqing@linux.dev \
    --cc=davem@davemloft.net \
    --cc=drivers@pensando.io \
    --cc=edumazet@google.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=justinstitt@google.com \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nitya.sunkad@amd.com \
    --cc=pabeni@redhat.com \
    --cc=shannon.nelson@amd.com \
    --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