public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Ian Kumlien <ian.kumlien@gmail.com>,
	Nikolay Aleksandrov <razor@blackwall.org>,
	Paolo Abeni <pabeni@redhat.com>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.13 125/207] be2net: fix sleeping while atomic bugs in be_ndo_bridge_getlink
Date: Mon, 10 Mar 2025 18:05:18 +0100	[thread overview]
Message-ID: <20250310170452.774001080@linuxfoundation.org> (raw)
In-Reply-To: <20250310170447.729440535@linuxfoundation.org>

6.13-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Nikolay Aleksandrov <razor@blackwall.org>

[ Upstream commit 1a82d19ca2d6835904ee71e2d40fd331098f94a0 ]

Partially revert commit b71724147e73 ("be2net: replace polling with
sleeping in the FW completion path") w.r.t mcc mutex it introduces and the
use of usleep_range. The be2net be_ndo_bridge_getlink() callback is
called with rcu_read_lock, so this code has been broken for a long time.
Both the mutex_lock and the usleep_range can cause the issue Ian Kumlien
reported[1]. The call path is:
be_ndo_bridge_getlink -> be_cmd_get_hsw_config -> be_mcc_notify_wait ->
be_mcc_wait_compl -> usleep_range()

[1] https://lore.kernel.org/netdev/CAA85sZveppNgEVa_FD+qhOMtG_AavK9_mFiU+jWrMtXmwqefGA@mail.gmail.com/

Tested-by: Ian Kumlien <ian.kumlien@gmail.com>
Fixes: b71724147e73 ("be2net: replace polling with sleeping in the FW completion path")
Signed-off-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/20250227164129.1201164-1-razor@blackwall.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/emulex/benet/be.h      |   2 +-
 drivers/net/ethernet/emulex/benet/be_cmds.c | 197 ++++++++++----------
 drivers/net/ethernet/emulex/benet/be_main.c |   2 +-
 3 files changed, 100 insertions(+), 101 deletions(-)

diff --git a/drivers/net/ethernet/emulex/benet/be.h b/drivers/net/ethernet/emulex/benet/be.h
index e48b861e4ce15..270ff9aab3352 100644
--- a/drivers/net/ethernet/emulex/benet/be.h
+++ b/drivers/net/ethernet/emulex/benet/be.h
@@ -562,7 +562,7 @@ struct be_adapter {
 	struct be_dma_mem mbox_mem_alloced;
 
 	struct be_mcc_obj mcc_obj;
-	struct mutex mcc_lock;	/* For serializing mcc cmds to BE card */
+	spinlock_t mcc_lock;	/* For serializing mcc cmds to BE card */
 	spinlock_t mcc_cq_lock;
 
 	u16 cfg_num_rx_irqs;		/* configured via set-channels */
diff --git a/drivers/net/ethernet/emulex/benet/be_cmds.c b/drivers/net/ethernet/emulex/benet/be_cmds.c
index 61adcebeef010..51b8377edd1d0 100644
--- a/drivers/net/ethernet/emulex/benet/be_cmds.c
+++ b/drivers/net/ethernet/emulex/benet/be_cmds.c
@@ -575,7 +575,7 @@ int be_process_mcc(struct be_adapter *adapter)
 /* Wait till no more pending mcc requests are present */
 static int be_mcc_wait_compl(struct be_adapter *adapter)
 {
-#define mcc_timeout		12000 /* 12s timeout */
+#define mcc_timeout		120000 /* 12s timeout */
 	int i, status = 0;
 	struct be_mcc_obj *mcc_obj = &adapter->mcc_obj;
 
@@ -589,7 +589,7 @@ static int be_mcc_wait_compl(struct be_adapter *adapter)
 
 		if (atomic_read(&mcc_obj->q.used) == 0)
 			break;
-		usleep_range(500, 1000);
+		udelay(100);
 	}
 	if (i == mcc_timeout) {
 		dev_err(&adapter->pdev->dev, "FW not responding\n");
@@ -866,7 +866,7 @@ static bool use_mcc(struct be_adapter *adapter)
 static int be_cmd_lock(struct be_adapter *adapter)
 {
 	if (use_mcc(adapter)) {
-		mutex_lock(&adapter->mcc_lock);
+		spin_lock_bh(&adapter->mcc_lock);
 		return 0;
 	} else {
 		return mutex_lock_interruptible(&adapter->mbox_lock);
@@ -877,7 +877,7 @@ static int be_cmd_lock(struct be_adapter *adapter)
 static void be_cmd_unlock(struct be_adapter *adapter)
 {
 	if (use_mcc(adapter))
-		return mutex_unlock(&adapter->mcc_lock);
+		return spin_unlock_bh(&adapter->mcc_lock);
 	else
 		return mutex_unlock(&adapter->mbox_lock);
 }
@@ -1047,7 +1047,7 @@ int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
 	struct be_cmd_req_mac_query *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1076,7 +1076,7 @@ int be_cmd_mac_addr_query(struct be_adapter *adapter, u8 *mac_addr,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1088,7 +1088,7 @@ int be_cmd_pmac_add(struct be_adapter *adapter, const u8 *mac_addr,
 	struct be_cmd_req_pmac_add *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1113,7 +1113,7 @@ int be_cmd_pmac_add(struct be_adapter *adapter, const u8 *mac_addr,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 
 	if (base_status(status) == MCC_STATUS_UNAUTHORIZED_REQUEST)
 		status = -EPERM;
@@ -1131,7 +1131,7 @@ int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, int pmac_id, u32 dom)
 	if (pmac_id == -1)
 		return 0;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1151,7 +1151,7 @@ int be_cmd_pmac_del(struct be_adapter *adapter, u32 if_id, int pmac_id, u32 dom)
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1414,7 +1414,7 @@ int be_cmd_rxq_create(struct be_adapter *adapter,
 	struct be_dma_mem *q_mem = &rxq->dma_mem;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1444,7 +1444,7 @@ int be_cmd_rxq_create(struct be_adapter *adapter,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1508,7 +1508,7 @@ int be_cmd_rxq_destroy(struct be_adapter *adapter, struct be_queue_info *q)
 	struct be_cmd_req_q_destroy *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1525,7 +1525,7 @@ int be_cmd_rxq_destroy(struct be_adapter *adapter, struct be_queue_info *q)
 	q->created = false;
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1593,7 +1593,7 @@ int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd)
 	struct be_cmd_req_hdr *hdr;
 	int status = 0;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1621,7 +1621,7 @@ int be_cmd_get_stats(struct be_adapter *adapter, struct be_dma_mem *nonemb_cmd)
 	adapter->stats_cmd_sent = true;
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1637,7 +1637,7 @@ int lancer_cmd_get_pport_stats(struct be_adapter *adapter,
 			    CMD_SUBSYSTEM_ETH))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1660,7 +1660,7 @@ int lancer_cmd_get_pport_stats(struct be_adapter *adapter,
 	adapter->stats_cmd_sent = true;
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1697,7 +1697,7 @@ int be_cmd_link_status_query(struct be_adapter *adapter, u16 *link_speed,
 	struct be_cmd_req_link_status *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	if (link_status)
 		*link_status = LINK_DOWN;
@@ -1736,7 +1736,7 @@ int be_cmd_link_status_query(struct be_adapter *adapter, u16 *link_speed,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1747,7 +1747,7 @@ int be_cmd_get_die_temperature(struct be_adapter *adapter)
 	struct be_cmd_req_get_cntl_addnl_attribs *req;
 	int status = 0;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1762,7 +1762,7 @@ int be_cmd_get_die_temperature(struct be_adapter *adapter)
 
 	status = be_mcc_notify(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1811,7 +1811,7 @@ int be_cmd_get_fat_dump(struct be_adapter *adapter, u32 buf_len, void *buf)
 	if (!get_fat_cmd.va)
 		return -ENOMEM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	while (total_size) {
 		buf_size = min(total_size, (u32)60 * 1024);
@@ -1849,9 +1849,9 @@ int be_cmd_get_fat_dump(struct be_adapter *adapter, u32 buf_len, void *buf)
 		log_offset += buf_size;
 	}
 err:
+	spin_unlock_bh(&adapter->mcc_lock);
 	dma_free_coherent(&adapter->pdev->dev, get_fat_cmd.size,
 			  get_fat_cmd.va, get_fat_cmd.dma);
-	mutex_unlock(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1862,7 +1862,7 @@ int be_cmd_get_fw_ver(struct be_adapter *adapter)
 	struct be_cmd_req_get_fw_version *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1885,7 +1885,7 @@ int be_cmd_get_fw_ver(struct be_adapter *adapter)
 			sizeof(adapter->fw_on_flash));
 	}
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1899,7 +1899,7 @@ static int __be_cmd_modify_eqd(struct be_adapter *adapter,
 	struct be_cmd_req_modify_eq_delay *req;
 	int status = 0, i;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1922,7 +1922,7 @@ static int __be_cmd_modify_eqd(struct be_adapter *adapter,
 
 	status = be_mcc_notify(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1949,7 +1949,7 @@ int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id, u16 *vtag_array,
 	struct be_cmd_req_vlan_config *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -1971,7 +1971,7 @@ int be_cmd_vlan_config(struct be_adapter *adapter, u32 if_id, u16 *vtag_array,
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -1982,7 +1982,7 @@ static int __be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
 	struct be_cmd_req_rx_filter *req = mem->va;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2015,7 +2015,7 @@ static int __be_cmd_rx_filter(struct be_adapter *adapter, u32 flags, u32 value)
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2046,7 +2046,7 @@ int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc)
 			    CMD_SUBSYSTEM_COMMON))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2066,7 +2066,7 @@ int be_cmd_set_flow_control(struct be_adapter *adapter, u32 tx_fc, u32 rx_fc)
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 
 	if (base_status(status) == MCC_STATUS_FEATURE_NOT_SUPPORTED)
 		return  -EOPNOTSUPP;
@@ -2085,7 +2085,7 @@ int be_cmd_get_flow_control(struct be_adapter *adapter, u32 *tx_fc, u32 *rx_fc)
 			    CMD_SUBSYSTEM_COMMON))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2108,7 +2108,7 @@ int be_cmd_get_flow_control(struct be_adapter *adapter, u32 *tx_fc, u32 *rx_fc)
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2189,7 +2189,7 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
 	if (!(be_if_cap_flags(adapter) & BE_IF_FLAGS_RSS))
 		return 0;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2214,7 +2214,7 @@ int be_cmd_rss_config(struct be_adapter *adapter, u8 *rsstable,
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2226,7 +2226,7 @@ int be_cmd_set_beacon_state(struct be_adapter *adapter, u8 port_num,
 	struct be_cmd_req_enable_disable_beacon *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2247,7 +2247,7 @@ int be_cmd_set_beacon_state(struct be_adapter *adapter, u8 port_num,
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2258,7 +2258,7 @@ int be_cmd_get_beacon_state(struct be_adapter *adapter, u8 port_num, u32 *state)
 	struct be_cmd_req_get_beacon_state *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2282,7 +2282,7 @@ int be_cmd_get_beacon_state(struct be_adapter *adapter, u8 port_num, u32 *state)
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2306,7 +2306,7 @@ int be_cmd_read_port_transceiver_data(struct be_adapter *adapter,
 		return -ENOMEM;
 	}
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2328,7 +2328,7 @@ int be_cmd_read_port_transceiver_data(struct be_adapter *adapter,
 		memcpy(data, resp->page_data + off, len);
 	}
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va, cmd.dma);
 	return status;
 }
@@ -2345,7 +2345,7 @@ static int lancer_cmd_write_object(struct be_adapter *adapter,
 	void *ctxt = NULL;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 	adapter->flash_status = 0;
 
 	wrb = wrb_from_mccq(adapter);
@@ -2387,7 +2387,7 @@ static int lancer_cmd_write_object(struct be_adapter *adapter,
 	if (status)
 		goto err_unlock;
 
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 
 	if (!wait_for_completion_timeout(&adapter->et_cmd_compl,
 					 msecs_to_jiffies(60000)))
@@ -2406,7 +2406,7 @@ static int lancer_cmd_write_object(struct be_adapter *adapter,
 	return status;
 
 err_unlock:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2460,7 +2460,7 @@ static int lancer_cmd_delete_object(struct be_adapter *adapter,
 	struct be_mcc_wrb *wrb;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2478,7 +2478,7 @@ static int lancer_cmd_delete_object(struct be_adapter *adapter,
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2491,7 +2491,7 @@ int lancer_cmd_read_object(struct be_adapter *adapter, struct be_dma_mem *cmd,
 	struct lancer_cmd_resp_read_object *resp;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2525,7 +2525,7 @@ int lancer_cmd_read_object(struct be_adapter *adapter, struct be_dma_mem *cmd,
 	}
 
 err_unlock:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2537,7 +2537,7 @@ static int be_cmd_write_flashrom(struct be_adapter *adapter,
 	struct be_cmd_write_flashrom *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 	adapter->flash_status = 0;
 
 	wrb = wrb_from_mccq(adapter);
@@ -2562,7 +2562,7 @@ static int be_cmd_write_flashrom(struct be_adapter *adapter,
 	if (status)
 		goto err_unlock;
 
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 
 	if (!wait_for_completion_timeout(&adapter->et_cmd_compl,
 					 msecs_to_jiffies(40000)))
@@ -2573,7 +2573,7 @@ static int be_cmd_write_flashrom(struct be_adapter *adapter,
 	return status;
 
 err_unlock:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -2584,7 +2584,7 @@ static int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
 	struct be_mcc_wrb *wrb;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -2611,7 +2611,7 @@ static int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
 		memcpy(flashed_crc, req->crc, 4);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3217,7 +3217,7 @@ int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
 	struct be_cmd_req_acpi_wol_magic_config *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3234,7 +3234,7 @@ int be_cmd_enable_magic_wol(struct be_adapter *adapter, u8 *mac,
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3249,7 +3249,7 @@ int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
 			    CMD_SUBSYSTEM_LOWLEVEL))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3272,7 +3272,7 @@ int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
 	if (status)
 		goto err_unlock;
 
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 
 	if (!wait_for_completion_timeout(&adapter->et_cmd_compl,
 					 msecs_to_jiffies(SET_LB_MODE_TIMEOUT)))
@@ -3281,7 +3281,7 @@ int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num,
 	return status;
 
 err_unlock:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3298,7 +3298,7 @@ int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
 			    CMD_SUBSYSTEM_LOWLEVEL))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3324,7 +3324,7 @@ int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
 	if (status)
 		goto err;
 
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 
 	wait_for_completion(&adapter->et_cmd_compl);
 	resp = embedded_payload(wrb);
@@ -3332,7 +3332,7 @@ int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num,
 
 	return status;
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3348,7 +3348,7 @@ int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern,
 			    CMD_SUBSYSTEM_LOWLEVEL))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3382,7 +3382,7 @@ int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3393,7 +3393,7 @@ int be_cmd_get_seeprom_data(struct be_adapter *adapter,
 	struct be_cmd_req_seeprom_read *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3409,7 +3409,7 @@ int be_cmd_get_seeprom_data(struct be_adapter *adapter,
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3424,7 +3424,7 @@ int be_cmd_get_phy_info(struct be_adapter *adapter)
 			    CMD_SUBSYSTEM_COMMON))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3469,7 +3469,7 @@ int be_cmd_get_phy_info(struct be_adapter *adapter)
 	}
 	dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va, cmd.dma);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3479,7 +3479,7 @@ static int be_cmd_set_qos(struct be_adapter *adapter, u32 bps, u32 domain)
 	struct be_cmd_req_set_qos *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3499,7 +3499,7 @@ static int be_cmd_set_qos(struct be_adapter *adapter, u32 bps, u32 domain)
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3611,7 +3611,7 @@ int be_cmd_get_fn_privileges(struct be_adapter *adapter, u32 *privilege,
 	struct be_cmd_req_get_fn_privileges *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3643,7 +3643,7 @@ int be_cmd_get_fn_privileges(struct be_adapter *adapter, u32 *privilege,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3655,7 +3655,7 @@ int be_cmd_set_fn_privileges(struct be_adapter *adapter, u32 privileges,
 	struct be_cmd_req_set_fn_privileges *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3675,7 +3675,7 @@ int be_cmd_set_fn_privileges(struct be_adapter *adapter, u32 privileges,
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3707,7 +3707,7 @@ int be_cmd_get_mac_from_list(struct be_adapter *adapter, u8 *mac,
 		return -ENOMEM;
 	}
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3771,7 +3771,7 @@ int be_cmd_get_mac_from_list(struct be_adapter *adapter, u8 *mac,
 	}
 
 out:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	dma_free_coherent(&adapter->pdev->dev, get_mac_list_cmd.size,
 			  get_mac_list_cmd.va, get_mac_list_cmd.dma);
 	return status;
@@ -3831,7 +3831,7 @@ int be_cmd_set_mac_list(struct be_adapter *adapter, u8 *mac_array,
 	if (!cmd.va)
 		return -ENOMEM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3853,7 +3853,7 @@ int be_cmd_set_mac_list(struct be_adapter *adapter, u8 *mac_array,
 
 err:
 	dma_free_coherent(&adapter->pdev->dev, cmd.size, cmd.va, cmd.dma);
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3889,7 +3889,7 @@ int be_cmd_set_hsw_config(struct be_adapter *adapter, u16 pvid,
 			    CMD_SUBSYSTEM_COMMON))
 		return -EPERM;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3930,7 +3930,7 @@ int be_cmd_set_hsw_config(struct be_adapter *adapter, u16 pvid,
 	status = be_mcc_notify_wait(adapter);
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -3944,7 +3944,7 @@ int be_cmd_get_hsw_config(struct be_adapter *adapter, u16 *pvid,
 	int status;
 	u16 vid;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -3991,7 +3991,7 @@ int be_cmd_get_hsw_config(struct be_adapter *adapter, u16 *pvid,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -4190,7 +4190,7 @@ int be_cmd_set_ext_fat_capabilites(struct be_adapter *adapter,
 	struct be_cmd_req_set_ext_fat_caps *req;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -4206,7 +4206,7 @@ int be_cmd_set_ext_fat_capabilites(struct be_adapter *adapter,
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -4684,7 +4684,7 @@ int be_cmd_manage_iface(struct be_adapter *adapter, u32 iface, u8 op)
 	if (iface == 0xFFFFFFFF)
 		return -1;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -4701,7 +4701,7 @@ int be_cmd_manage_iface(struct be_adapter *adapter, u32 iface, u8 op)
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -4735,7 +4735,7 @@ int be_cmd_get_if_id(struct be_adapter *adapter, struct be_vf_cfg *vf_cfg,
 	struct be_cmd_resp_get_iface_list *resp;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -4756,7 +4756,7 @@ int be_cmd_get_if_id(struct be_adapter *adapter, struct be_vf_cfg *vf_cfg,
 	}
 
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -4850,7 +4850,7 @@ int be_cmd_enable_vf(struct be_adapter *adapter, u8 domain)
 	if (BEx_chip(adapter))
 		return 0;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -4868,7 +4868,7 @@ int be_cmd_enable_vf(struct be_adapter *adapter, u8 domain)
 	req->enable = 1;
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -4941,7 +4941,7 @@ __be_cmd_set_logical_link_config(struct be_adapter *adapter,
 	u32 link_config = 0;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -4969,7 +4969,7 @@ __be_cmd_set_logical_link_config(struct be_adapter *adapter,
 
 	status = be_mcc_notify_wait(adapter);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -5000,8 +5000,7 @@ int be_cmd_set_features(struct be_adapter *adapter)
 	struct be_mcc_wrb *wrb;
 	int status;
 
-	if (mutex_lock_interruptible(&adapter->mcc_lock))
-		return -1;
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -5039,7 +5038,7 @@ int be_cmd_set_features(struct be_adapter *adapter)
 		dev_info(&adapter->pdev->dev,
 			 "Adapter does not support HW error recovery\n");
 
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 
@@ -5053,7 +5052,7 @@ int be_roce_mcc_cmd(void *netdev_handle, void *wrb_payload,
 	struct be_cmd_resp_hdr *resp;
 	int status;
 
-	mutex_lock(&adapter->mcc_lock);
+	spin_lock_bh(&adapter->mcc_lock);
 
 	wrb = wrb_from_mccq(adapter);
 	if (!wrb) {
@@ -5076,7 +5075,7 @@ int be_roce_mcc_cmd(void *netdev_handle, void *wrb_payload,
 	memcpy(wrb_payload, resp, sizeof(*resp) + resp->response_length);
 	be_dws_le_to_cpu(wrb_payload, sizeof(*resp) + resp->response_length);
 err:
-	mutex_unlock(&adapter->mcc_lock);
+	spin_unlock_bh(&adapter->mcc_lock);
 	return status;
 }
 EXPORT_SYMBOL(be_roce_mcc_cmd);
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index 875fe379eea21..3d2e215921191 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -5667,8 +5667,8 @@ static int be_drv_init(struct be_adapter *adapter)
 	}
 
 	mutex_init(&adapter->mbox_lock);
-	mutex_init(&adapter->mcc_lock);
 	mutex_init(&adapter->rx_filter_lock);
+	spin_lock_init(&adapter->mcc_lock);
 	spin_lock_init(&adapter->mcc_cq_lock);
 	init_completion(&adapter->et_cmd_compl);
 
-- 
2.39.5




  parent reply	other threads:[~2025-03-10 17:13 UTC|newest]

Thread overview: 230+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-10 17:03 [PATCH 6.13 000/207] 6.13.7-rc1 review Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 001/207] x86/amd_nb: Use rdmsr_safe() in amd_get_mmconfig_range() Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 002/207] rust: block: fix formatting in GenDisk doc Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 003/207] cifs: Remove symlink member from cifs_open_info_data union Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 004/207] smb311: failure to open files of length 1040 when mounting with SMB3.1.1 POSIX extensions Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 005/207] x86/microcode/AMD: Add some forgotten models to the SHA check Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 006/207] loongarch: Use ASM_REACHABLE Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 007/207] Revert "of: reserved-memory: Fix using wrong number of cells to get property alignment" Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 008/207] tracing: tprobe-events: Fix a memory leak when tprobe with $retval Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 009/207] tracing: tprobe-events: Reject invalid tracepoint name Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 010/207] stmmac: loongson: Pass correct arg to PCI function Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 011/207] LoongArch: Convert unreachable() to BUG() Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 012/207] LoongArch: Use polling play_dead() when resuming from hibernation Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 013/207] LoongArch: Set hugetlb mmap base address aligned with pmd size Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 014/207] LoongArch: Set max_pfn with the PFN of the last page Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 015/207] LoongArch: KVM: Add interrupt checking for AVEC Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 016/207] LoongArch: KVM: Reload guest CSR registers after sleep Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 017/207] LoongArch: KVM: Fix GPA size issue about VM Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 018/207] HID: appleir: Fix potential NULL dereference at raw event handle Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 019/207] HID: corsair-void: Update power supply values with a unified work handler Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 020/207] ksmbd: fix type confusion via race condition when using ipc_msg_send_request Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 021/207] ksmbd: fix out-of-bounds in parse_sec_desc() Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 022/207] ksmbd: fix use-after-free in smb2_lock Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 023/207] ksmbd: fix bug on trap " Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 024/207] gpio: rcar: Use raw_spinlock to protect register access Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 025/207] gpio: aggregator: protect driver attr handlers against module unload Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 026/207] ALSA: seq: Avoid module auto-load handling at event delivery Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 027/207] ALSA: hda: intel: Add Dell ALC3271 to power_save denylist Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 028/207] ALSA: hda/realtek - add supported Mic Mute LED for Lenovo platform Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 029/207] ALSA: hda/realtek: update ALC222 depop optimize Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 030/207] btrfs: zoned: fix extent range end unlock in cow_file_range() Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 031/207] btrfs: fix a leaked chunk map issue in read_one_chunk() Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 032/207] virt: sev-guest: Allocate request data dynamically Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 033/207] hwmon: (peci/dimmtemp) Do not provide fake thresholds data Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 034/207] drm/amd/display: Fix null check for pipe_ctx->plane_state in resource_build_scaling_params Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 035/207] drm/amdkfd: Fix NULL Pointer Dereference in KFD queue Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 036/207] drm/amd/pm: always allow ih interrupt from fw Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 037/207] drm/imagination: avoid deadlock on fence release Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 038/207] drm/imagination: Hold drm_gem_gpuva lock for unmap Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 039/207] drm/imagination: only init job done fences once Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 040/207] drm/radeon: Fix rs400_gpu_init for ATI mobility radeon Xpress 200M Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 041/207] Revert "mm/page_alloc.c: dont show protection in zones ->lowmem_reserve[] for empty zone" Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 042/207] Revert "selftests/mm: remove local __NR_* definitions" Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 043/207] platform/x86: thinkpad_acpi: Add battery quirk for ThinkPad X131e Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 044/207] x86/boot: Sanitize boot params before parsing command line Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 045/207] x86/cacheinfo: Validate CPUID leaf 0x2 EDX output Greg Kroah-Hartman
2025-03-10 17:03 ` [PATCH 6.13 046/207] x86/cpu: " Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 047/207] x86/cpu: Properly parse CPUID leaf 0x2 TLB descriptor 0x63 Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 048/207] drm/xe: Add staging tree for VM binds Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 049/207] drm/xe/hmm: Style- and include fixes Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 050/207] drm/xe/hmm: Dont dereference struct page pointers without notifier lock Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 051/207] drm/xe/vm: Fix a misplaced #endif Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 052/207] drm/xe/vm: Validate userptr during gpu vma prefetching Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 053/207] mptcp: fix scheduling while atomic in mptcp_pm_nl_append_new_local_addr Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 054/207] drm/xe: Fix GT "for each engine" workarounds Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 055/207] drm/xe: Fix fault mode invalidation with unbind Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 056/207] drm/xe/userptr: properly setup pfn_flags_mask Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 057/207] drm/xe/userptr: Unmap userptrs in the mmu notifier Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 058/207] Bluetooth: Add check for mgmt_alloc_skb() in mgmt_remote_name() Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 059/207] Bluetooth: Add check for mgmt_alloc_skb() in mgmt_device_connected() Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 060/207] wifi: cfg80211: regulatory: improve invalid hints checking Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 061/207] wifi: nl80211: reject cooked mode if it is set along with other flags Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 062/207] selftests/damon/damos_quota_goal: handle minimum quota that cannot be further reduced Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 063/207] selftests/damon/damos_quota: make real expectation of quota exceeds Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 064/207] selftests/damon/damon_nr_regions: set ops update for merge results check to 100ms Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 065/207] selftests/damon/damon_nr_regions: sort collected regiosn before checking with min/max boundaries Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 066/207] rapidio: add check for rio_add_net() in rio_scan_alloc_net() Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 067/207] rapidio: fix an API misues when rio_add_net() fails Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 068/207] dma: kmsan: export kmsan_handle_dma() for modules Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 069/207] s390/traps: Fix test_monitor_call() inline assembly Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 070/207] NFS: fix nfs_release_folio() to not deadlock via kcompactd writeback Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 071/207] userfaultfd: do not block on locking a large folio with raised refcount Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 072/207] arm: pgtable: fix NULL pointer dereference issue Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 073/207] block: fix conversion of GPT partition name to 7-bit Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 074/207] mm/page_alloc: fix uninitialized variable Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 075/207] mm: abort vma_modify() on merge out of memory failure Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 076/207] mm: memory-failure: update ttu flag inside unmap_poisoned_folio Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 077/207] mm: dont skip arch_sync_kernel_mappings() in error paths Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 078/207] mm: fix finish_fault() handling for large folios Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 079/207] hwpoison, memory_hotplug: lock folio before unmap hwpoisoned folio Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 080/207] mm: memory-hotplug: check folio ref count first in do_migrate_range Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 081/207] wifi: iwlwifi: fw: avoid using an uninitialized variable Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 082/207] wifi: iwlwifi: mvm: clean up ROC on failure Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 083/207] wifi: iwlwifi: mvm: log error for failures after D3 Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 084/207] wifi: iwlwifi: mvm: dont dump the firmware state upon RFKILL while suspend Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 085/207] wifi: iwlwifi: mvm: dont try to talk to a dead firmware Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 086/207] wifi: iwlwifi: limit printed string from FW file Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 087/207] wifi: iwlwifi: Free pages allocated when failing to build A-MSDU Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 088/207] wifi: iwlwifi: Fix A-MSDU TSO preparation Greg Kroah-Hartman
2025-03-10 17:40   ` Benjamin Berg
2025-03-12  7:54     ` Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 089/207] HID: google: fix unused variable warning under !CONFIG_ACPI Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 090/207] HID: intel-ish-hid: Fix use-after-free issue in hid_ishtp_cl_remove() Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 091/207] HID: intel-ish-hid: Fix use-after-free issue in ishtp_hid_remove() Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 092/207] coredump: Only sort VMAs when core_sort_vma sysctl is set Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 093/207] nvme-ioctl: fix leaked requests on mapping error Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 094/207] wifi: mac80211: Support parsing EPCS ML element Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 095/207] wifi: mac80211: fix MLE non-inheritance parsing Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 096/207] wifi: mac80211: fix vendor-specific inheritance Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 097/207] fgraph: Replace fgraph_ret_regs with ftrace_regs Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 098/207] fprobe: Use ftrace_regs in fprobe entry handler Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 099/207] fprobe: Use ftrace_regs in fprobe exit handler Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 100/207] tracing: Add ftrace_partial_regs() for converting ftrace_regs to pt_regs Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 101/207] tracing: Add ftrace_fill_perf_regs() for perf event Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 102/207] fprobe: Rewrite fprobe on function-graph tracer Greg Kroah-Hartman
2025-03-11  9:46   ` Jiri Slaby
2025-03-11  9:49     ` Jiri Slaby
2025-03-11  9:56       ` Jiri Slaby
2025-03-11 14:12         ` Greg Kroah-Hartman
2025-03-11 23:52           ` Masami Hiramatsu
2025-03-10 17:04 ` [PATCH 6.13 103/207] tracing: fprobe-events: Log error for exceeding the number of entry args Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 104/207] drm/nouveau: select FW caching Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 105/207] bluetooth: btusb: Initialize .owner field of force_poll_sync_fops Greg Kroah-Hartman
2025-03-10 17:04 ` [PATCH 6.13 106/207] nvmet: remove old function prototype Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 107/207] nvme-tcp: add basic support for the C2HTermReq PDU Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 108/207] nvme-tcp: fix potential memory corruption in nvme_tcp_recv_pdu() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 109/207] nvmet-tcp: Fix a possible sporadic response drops in weakly ordered arch Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 110/207] ALSA: hda/realtek: Remove (revert) duplicate Ally X config Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 111/207] net: gso: fix ownership in __udp_gso_segment Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 112/207] caif_virtio: fix wrong pointer check in cfv_probe() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 113/207] perf/core: Fix pmus_lock vs. pmus_srcu ordering Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 114/207] cred: return old creds from revert_creds_light() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 115/207] cred: Fix RCU warnings in override/revert_creds Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 116/207] hwmon: (pmbus) Initialise page count in pmbus_identify() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 117/207] hwmon: (ntc_thermistor) Fix the ncpXXxh103 sensor table Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 118/207] hwmon: (ad7314) Validate leading zero bits and return error Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 119/207] tracing: probe-events: Remove unused MAX_ARG_BUF_LEN macro Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 120/207] drm/imagination: Fix timestamps in firmware traces Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 121/207] ALSA: usx2y: validate nrpacks module parameter on probe Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 122/207] llc: do not use skb_get() before dev_queue_xmit() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 123/207] hwmon: fix a NULL vs IS_ERR_OR_NULL() check in xgene_hwmon_probe() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 124/207] drm/sched: Fix preprocessor guard Greg Kroah-Hartman
2025-03-10 17:05 ` Greg Kroah-Hartman [this message]
2025-03-10 17:05 ` [PATCH 6.13 126/207] net: hns3: make sure ptp clock is unregister and freed if hclge_ptp_get_cycle returns an error Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 127/207] drm/xe: Remove double pageflip Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 128/207] HID: hid-steam: Fix use-after-free when detaching device Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 129/207] net: ipa: Fix v4.7 resource group names Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 130/207] net: ipa: Fix QSB data for v4.7 Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 131/207] net: ipa: Enable checksum for IPA_ENDPOINT_AP_MODEM_{RX,TX} " Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 132/207] ppp: Fix KMSAN uninit-value warning with bpf Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 133/207] ethtool: linkstate: migrate linkstate functions to support multi-PHY setups Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 134/207] net: ethtool: plumb PHY stats to PHY drivers Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 135/207] net: ethtool: netlink: Allow NULL nlattrs when getting a phy_device Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 136/207] vlan: enforce underlying device type Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 137/207] x86/sgx: Fix size overflows in sgx_encl_create() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 138/207] exfat: fix just enough dentries but allocate a new cluster to dir Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 139/207] exfat: fix soft lockup in exfat_clear_bitmap Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 140/207] exfat: short-circuit zero-byte writes in exfat_file_write_iter Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 141/207] net-timestamp: support TCP GSO case for a few missing flags Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 142/207] ublk: set_params: properly check if parameters can be applied Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 143/207] sched/fair: Fix potential memory corruption in child_cfs_rq_on_list Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 144/207] nvme-tcp: fix signedness bug in nvme_tcp_init_connection() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 145/207] net: dsa: mt7530: Fix traffic flooding for MMIO devices Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 146/207] drm/bochs: Fix DPMS regression Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 147/207] mctp i3c: handle NULL header address Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 148/207] net: ipv6: fix dst ref loop in ila lwtunnel Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 149/207] net: ipv6: fix missing dst ref drop " Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 150/207] gpio: rcar: Fix missing of_node_put() call Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 151/207] Revert "drivers/card_reader/rtsx_usb: Restore interrupt based detection" Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 152/207] usb: renesas_usbhs: Call clk_put() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 153/207] xhci: Restrict USB4 tunnel detection for USB3 devices to Intel hosts Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 154/207] usb: renesas_usbhs: Use devm_usb_get_phy() Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 155/207] usb: hub: lack of clearing xHC resources Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 156/207] usb: quirks: Add DELAY_INIT and NO_LPM for Prolific Mass Storage Card Reader Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 157/207] usb: xhci: Fix host controllers "dying" after suspend and resume Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 158/207] usb: typec: ucsi: Fix NULL pointer access Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 159/207] usb: renesas_usbhs: Flush the notify_hotplug_work Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 160/207] usb: xhci: Enable the TRB overfetch quirk on VIA VL805 Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 161/207] usb: gadget: u_ether: Set is_suspend flag if remote wakeup fails Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 162/207] usb: atm: cxacru: fix a flaw in existing endpoint checks Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 163/207] usb: dwc3: Set SUSPENDENABLE soon after phy init Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 164/207] usb: dwc3: gadget: Prevent irq storm when TH re-executes Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 165/207] usb: typec: ucsi: increase timeout for PPM reset operations Greg Kroah-Hartman
2025-03-10 17:05 ` [PATCH 6.13 166/207] usb: typec: tcpci_rt1711h: Unmask alert interrupts to fix functionality Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 167/207] usb: gadget: Set self-powered based on MaxPower and bmAttributes Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 168/207] usb: gadget: Fix setting self-powered state on suspend Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 169/207] usb: gadget: Check bmAttributes only if configuration is valid Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 170/207] kbuild: userprogs: use correct lld when linking through clang Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 171/207] acpi: typec: ucsi: Introduce a ->poll_cci method Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 172/207] KVM: SVM: Set RFLAGS.IF=1 in C code, to get VMRUN out of the STI shadow Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 173/207] KVM: SVM: Save host DR masks on CPUs with DebugSwap Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 174/207] KVM: SVM: Drop DEBUGCTL[5:2] from guests effective value Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 175/207] KVM: SVM: Suppress DEBUGCTL.BTF on AMD Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 176/207] KVM: x86: Snapshot the hosts DEBUGCTL in common x86 Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 177/207] KVM: SVM: Manually context switch DEBUGCTL if LBR virtualization is disabled Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 178/207] KVM: x86: Snapshot the hosts DEBUGCTL after disabling IRQs Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 179/207] KVM: x86: Explicitly zero EAX and EBX when PERFMON_V2 isnt supported by KVM Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 180/207] cdx: Fix possible UAF error in driver_override_show() Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 181/207] mei: me: add panther lake P DID Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 182/207] mei: vsc: Use "wakeuphostint" when getting the host wakeup GPIO Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 183/207] intel_th: pci: Add Arrow Lake support Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 184/207] intel_th: pci: Add Panther Lake-H support Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 185/207] intel_th: pci: Add Panther Lake-P/U support Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 186/207] char: misc: deallocate static minor in error path Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 187/207] drivers: core: fix device leak in __fw_devlink_relax_cycles() Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 188/207] slimbus: messaging: Free transaction ID in delayed interrupt scenario Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 189/207] bus: mhi: host: pci_generic: Use pci_try_reset_function() to avoid deadlock Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 190/207] eeprom: digsy_mtc: Make GPIO lookup table match the device Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 191/207] drivers: virt: acrn: hsm: Use kzalloc to avoid info leak in pmcmd_ioctl Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 192/207] iio: filter: admv8818: Force initialization of SDO Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 193/207] iio: light: apds9306: fix max_scale_nano values Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 194/207] iio: dac: ad3552r: clear reset status flag Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 195/207] iio: adc: ad7192: fix channel select Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 196/207] iio: adc: at91-sama5d2_adc: fix sama7g5 realbits value Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 197/207] mm: hugetlb: Add huge page size param to huge_ptep_get_and_clear() Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 198/207] arm64: hugetlb: Fix huge_ptep_get_and_clear() for non-present ptes Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 199/207] iio: hid-sensor-prox: Split difference from multiple channels Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 200/207] dt-bindings: iio: dac: adi-axi-adc: fix ad7606 pwm-names Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 201/207] iio: adc: ad7606: fix wrong scale available Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 202/207] kbuild: hdrcheck: fix cross build with clang Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 203/207] arm64: Kconfig: Remove selecting replaced HAVE_FUNCTION_GRAPH_RETVAL Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 204/207] fprobe: Always unregister fgraph function from ops Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 205/207] fprobe: Fix accounting of when to unregister from function graph Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 206/207] ALSA: hda: realtek: fix incorrect IS_REACHABLE() usage Greg Kroah-Hartman
2025-03-10 17:06 ` [PATCH 6.13 207/207] nvme-tcp: Fix a C2HTermReq error message Greg Kroah-Hartman
2025-03-10 19:05 ` [PATCH 6.13 000/207] 6.13.7-rc1 review SeongJae Park
2025-03-10 20:10 ` Florian Fainelli
2025-03-11  3:54 ` Luna Jernberg
2025-03-11  5:32 ` Ronald Warsow
2025-03-11  9:58 ` Ron Economos
2025-03-11  9:59 ` Jon Hunter
2025-03-11 12:26 ` Achill Gilgenast
2025-03-11 12:50 ` Takeshi Ogasawara
2025-03-11 13:23 ` Mark Brown
2025-03-11 13:56 ` Naresh Kamboju
2025-03-11 16:44 ` Shuah Khan
2025-03-12 17:20 ` Hardik Garg
2025-03-20 23:20 ` Achill Gilgenast
2025-03-21  0:15 ` Peter Schneider
2025-03-21  0:18   ` Peter Schneider

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=20250310170452.774001080@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ian.kumlien@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=patches@lists.linux.dev \
    --cc=razor@blackwall.org \
    --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