From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
patches@lists.linux.dev, Hao Lan <lanhao@huawei.com>,
Guangbin Huang <huangguangbin2@huawei.com>,
Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.0 061/148] net: hns3: refactor function hclge_mbx_handler()
Date: Tue, 10 Jan 2023 19:02:45 +0100 [thread overview]
Message-ID: <20230110180019.157262646@linuxfoundation.org> (raw)
In-Reply-To: <20230110180017.145591678@linuxfoundation.org>
From: Hao Lan <lanhao@huawei.com>
[ Upstream commit 09431ed8de874881e2d5d430042d718ae074d371 ]
Currently, the function hclge_mbx_handler() has too many switch-case
statements, it makes this function too long. To improve code readability,
refactor this function and use lookup table instead.
Signed-off-by: Hao Lan <lanhao@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Stable-dep-of: fec7352117fa ("net: hns3: refine the handling for VF heartbeat")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
.../net/ethernet/hisilicon/hns3/hclge_mbx.h | 11 +
.../hisilicon/hns3/hns3pf/hclge_mbx.c | 415 ++++++++++++------
2 files changed, 284 insertions(+), 142 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h b/drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h
index 7d4ae467f3ad..abcd7877f7d2 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h
@@ -233,6 +233,17 @@ struct hclgevf_mbx_arq_ring {
__le16 msg_q[HCLGE_MBX_MAX_ARQ_MSG_NUM][HCLGE_MBX_MAX_ARQ_MSG_SIZE];
};
+struct hclge_dev;
+
+#define HCLGE_MBX_OPCODE_MAX 256
+struct hclge_mbx_ops_param {
+ struct hclge_vport *vport;
+ struct hclge_mbx_vf_to_pf_cmd *req;
+ struct hclge_respond_to_vf_msg *resp_msg;
+};
+
+typedef int (*hclge_mbx_ops_fn)(struct hclge_mbx_ops_param *param);
+
#define hclge_mbx_ring_ptr_move_crq(crq) \
(crq->next_to_use = (crq->next_to_use + 1) % crq->desc_num)
#define hclge_mbx_tail_ptr_move_arq(arq) \
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
index e1012f7f9b73..a7b06c63143c 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c
@@ -779,17 +779,284 @@ static void hclge_handle_vf_tbl(struct hclge_vport *vport,
}
}
+static int
+hclge_mbx_map_ring_to_vector_handler(struct hclge_mbx_ops_param *param)
+{
+ return hclge_map_unmap_ring_to_vf_vector(param->vport, true,
+ param->req);
+}
+
+static int
+hclge_mbx_unmap_ring_to_vector_handler(struct hclge_mbx_ops_param *param)
+{
+ return hclge_map_unmap_ring_to_vf_vector(param->vport, false,
+ param->req);
+}
+
+static int
+hclge_mbx_get_ring_vector_map_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_get_vf_ring_vector_map(param->vport, param->req,
+ param->resp_msg);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "PF fail(%d) to get VF ring vector map\n",
+ ret);
+ return ret;
+}
+
+static int hclge_mbx_set_promisc_mode_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_set_vf_promisc_mode(param->vport, param->req);
+ return 0;
+}
+
+static int hclge_mbx_set_unicast_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_set_vf_uc_mac_addr(param->vport, param->req);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "PF fail(%d) to set VF UC MAC Addr\n",
+ ret);
+ return ret;
+}
+
+static int hclge_mbx_set_multicast_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_set_vf_mc_mac_addr(param->vport, param->req);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "PF fail(%d) to set VF MC MAC Addr\n",
+ ret);
+ return ret;
+}
+
+static int hclge_mbx_set_vlan_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_set_vf_vlan_cfg(param->vport, param->req, param->resp_msg);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "PF failed(%d) to config VF's VLAN\n",
+ ret);
+ return ret;
+}
+
+static int hclge_mbx_set_alive_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_set_vf_alive(param->vport, param->req);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "PF failed(%d) to set VF's ALIVE\n",
+ ret);
+ return ret;
+}
+
+static int hclge_mbx_get_qinfo_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_get_vf_queue_info(param->vport, param->resp_msg);
+ return 0;
+}
+
+static int hclge_mbx_get_qdepth_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_get_vf_queue_depth(param->vport, param->resp_msg);
+ return 0;
+}
+
+static int hclge_mbx_get_basic_info_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_get_basic_info(param->vport, param->resp_msg);
+ return 0;
+}
+
+static int hclge_mbx_get_link_status_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_push_vf_link_status(param->vport);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "failed to inform link stat to VF, ret = %d\n",
+ ret);
+ return ret;
+}
+
+static int hclge_mbx_queue_reset_handler(struct hclge_mbx_ops_param *param)
+{
+ return hclge_mbx_reset_vf_queue(param->vport, param->req,
+ param->resp_msg);
+}
+
+static int hclge_mbx_reset_handler(struct hclge_mbx_ops_param *param)
+{
+ return hclge_reset_vf(param->vport);
+}
+
+static int hclge_mbx_keep_alive_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_vf_keep_alive(param->vport);
+ return 0;
+}
+
+static int hclge_mbx_set_mtu_handler(struct hclge_mbx_ops_param *param)
+{
+ int ret;
+
+ ret = hclge_set_vf_mtu(param->vport, param->req);
+ if (ret)
+ dev_err(¶m->vport->back->pdev->dev,
+ "VF fail(%d) to set mtu\n", ret);
+ return ret;
+}
+
+static int hclge_mbx_get_qid_in_pf_handler(struct hclge_mbx_ops_param *param)
+{
+ return hclge_get_queue_id_in_pf(param->vport, param->req,
+ param->resp_msg);
+}
+
+static int hclge_mbx_get_rss_key_handler(struct hclge_mbx_ops_param *param)
+{
+ return hclge_get_rss_key(param->vport, param->req, param->resp_msg);
+}
+
+static int hclge_mbx_get_link_mode_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_get_link_mode(param->vport, param->req);
+ return 0;
+}
+
+static int
+hclge_mbx_get_vf_flr_status_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_rm_vport_all_mac_table(param->vport, false,
+ HCLGE_MAC_ADDR_UC);
+ hclge_rm_vport_all_mac_table(param->vport, false,
+ HCLGE_MAC_ADDR_MC);
+ hclge_rm_vport_all_vlan_table(param->vport, false);
+ return 0;
+}
+
+static int hclge_mbx_vf_uninit_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_rm_vport_all_mac_table(param->vport, true,
+ HCLGE_MAC_ADDR_UC);
+ hclge_rm_vport_all_mac_table(param->vport, true,
+ HCLGE_MAC_ADDR_MC);
+ hclge_rm_vport_all_vlan_table(param->vport, true);
+ return 0;
+}
+
+static int hclge_mbx_get_media_type_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_get_vf_media_type(param->vport, param->resp_msg);
+ return 0;
+}
+
+static int hclge_mbx_push_link_status_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_handle_link_change_event(param->vport->back, param->req);
+ return 0;
+}
+
+static int hclge_mbx_get_mac_addr_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_get_vf_mac_addr(param->vport, param->resp_msg);
+ return 0;
+}
+
+static int hclge_mbx_ncsi_error_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_handle_ncsi_error(param->vport->back);
+ return 0;
+}
+
+static int hclge_mbx_handle_vf_tbl_handler(struct hclge_mbx_ops_param *param)
+{
+ hclge_handle_vf_tbl(param->vport, param->req);
+ return 0;
+}
+
+static const hclge_mbx_ops_fn hclge_mbx_ops_list[HCLGE_MBX_OPCODE_MAX] = {
+ [HCLGE_MBX_RESET] = hclge_mbx_reset_handler,
+ [HCLGE_MBX_SET_UNICAST] = hclge_mbx_set_unicast_handler,
+ [HCLGE_MBX_SET_MULTICAST] = hclge_mbx_set_multicast_handler,
+ [HCLGE_MBX_SET_VLAN] = hclge_mbx_set_vlan_handler,
+ [HCLGE_MBX_MAP_RING_TO_VECTOR] = hclge_mbx_map_ring_to_vector_handler,
+ [HCLGE_MBX_UNMAP_RING_TO_VECTOR] = hclge_mbx_unmap_ring_to_vector_handler,
+ [HCLGE_MBX_SET_PROMISC_MODE] = hclge_mbx_set_promisc_mode_handler,
+ [HCLGE_MBX_GET_QINFO] = hclge_mbx_get_qinfo_handler,
+ [HCLGE_MBX_GET_QDEPTH] = hclge_mbx_get_qdepth_handler,
+ [HCLGE_MBX_GET_BASIC_INFO] = hclge_mbx_get_basic_info_handler,
+ [HCLGE_MBX_GET_RSS_KEY] = hclge_mbx_get_rss_key_handler,
+ [HCLGE_MBX_GET_MAC_ADDR] = hclge_mbx_get_mac_addr_handler,
+ [HCLGE_MBX_GET_LINK_STATUS] = hclge_mbx_get_link_status_handler,
+ [HCLGE_MBX_QUEUE_RESET] = hclge_mbx_queue_reset_handler,
+ [HCLGE_MBX_KEEP_ALIVE] = hclge_mbx_keep_alive_handler,
+ [HCLGE_MBX_SET_ALIVE] = hclge_mbx_set_alive_handler,
+ [HCLGE_MBX_SET_MTU] = hclge_mbx_set_mtu_handler,
+ [HCLGE_MBX_GET_QID_IN_PF] = hclge_mbx_get_qid_in_pf_handler,
+ [HCLGE_MBX_GET_LINK_MODE] = hclge_mbx_get_link_mode_handler,
+ [HCLGE_MBX_GET_MEDIA_TYPE] = hclge_mbx_get_media_type_handler,
+ [HCLGE_MBX_VF_UNINIT] = hclge_mbx_vf_uninit_handler,
+ [HCLGE_MBX_HANDLE_VF_TBL] = hclge_mbx_handle_vf_tbl_handler,
+ [HCLGE_MBX_GET_RING_VECTOR_MAP] = hclge_mbx_get_ring_vector_map_handler,
+ [HCLGE_MBX_GET_VF_FLR_STATUS] = hclge_mbx_get_vf_flr_status_handler,
+ [HCLGE_MBX_PUSH_LINK_STATUS] = hclge_mbx_push_link_status_handler,
+ [HCLGE_MBX_NCSI_ERROR] = hclge_mbx_ncsi_error_handler,
+};
+
+static void hclge_mbx_request_handling(struct hclge_mbx_ops_param *param)
+{
+ hclge_mbx_ops_fn cmd_func = NULL;
+ struct hclge_dev *hdev;
+ int ret = 0;
+
+ hdev = param->vport->back;
+ cmd_func = hclge_mbx_ops_list[param->req->msg.code];
+ if (cmd_func)
+ ret = cmd_func(param);
+ else
+ dev_err(&hdev->pdev->dev,
+ "un-supported mailbox message, code = %u\n",
+ param->req->msg.code);
+
+ /* PF driver should not reply IMP */
+ if (hnae3_get_bit(param->req->mbx_need_resp, HCLGE_MBX_NEED_RESP_B) &&
+ param->req->msg.code < HCLGE_MBX_GET_VF_FLR_STATUS) {
+ param->resp_msg->status = ret;
+ if (time_is_before_jiffies(hdev->last_mbx_scheduled +
+ HCLGE_MBX_SCHED_TIMEOUT))
+ dev_warn(&hdev->pdev->dev,
+ "resp vport%u mbx(%u,%u) late\n",
+ param->req->mbx_src_vfid,
+ param->req->msg.code,
+ param->req->msg.subcode);
+
+ hclge_gen_resp_to_vf(param->vport, param->req, param->resp_msg);
+ }
+}
+
void hclge_mbx_handler(struct hclge_dev *hdev)
{
struct hclge_comm_cmq_ring *crq = &hdev->hw.hw.cmq.crq;
struct hclge_respond_to_vf_msg resp_msg;
struct hclge_mbx_vf_to_pf_cmd *req;
- struct hclge_vport *vport;
+ struct hclge_mbx_ops_param param;
struct hclge_desc *desc;
- bool is_del = false;
unsigned int flag;
- int ret = 0;
+ param.resp_msg = &resp_msg;
/* handle all the mailbox requests in the queue */
while (!hclge_cmd_crq_empty(&hdev->hw)) {
if (test_bit(HCLGE_COMM_STATE_CMD_DISABLE,
@@ -814,152 +1081,16 @@ void hclge_mbx_handler(struct hclge_dev *hdev)
continue;
}
- vport = &hdev->vport[req->mbx_src_vfid];
-
trace_hclge_pf_mbx_get(hdev, req);
/* clear the resp_msg before processing every mailbox message */
memset(&resp_msg, 0, sizeof(resp_msg));
-
- switch (req->msg.code) {
- case HCLGE_MBX_MAP_RING_TO_VECTOR:
- ret = hclge_map_unmap_ring_to_vf_vector(vport, true,
- req);
- break;
- case HCLGE_MBX_UNMAP_RING_TO_VECTOR:
- ret = hclge_map_unmap_ring_to_vf_vector(vport, false,
- req);
- break;
- case HCLGE_MBX_GET_RING_VECTOR_MAP:
- ret = hclge_get_vf_ring_vector_map(vport, req,
- &resp_msg);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "PF fail(%d) to get VF ring vector map\n",
- ret);
- break;
- case HCLGE_MBX_SET_PROMISC_MODE:
- hclge_set_vf_promisc_mode(vport, req);
- break;
- case HCLGE_MBX_SET_UNICAST:
- ret = hclge_set_vf_uc_mac_addr(vport, req);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "PF fail(%d) to set VF UC MAC Addr\n",
- ret);
- break;
- case HCLGE_MBX_SET_MULTICAST:
- ret = hclge_set_vf_mc_mac_addr(vport, req);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "PF fail(%d) to set VF MC MAC Addr\n",
- ret);
- break;
- case HCLGE_MBX_SET_VLAN:
- ret = hclge_set_vf_vlan_cfg(vport, req, &resp_msg);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "PF failed(%d) to config VF's VLAN\n",
- ret);
- break;
- case HCLGE_MBX_SET_ALIVE:
- ret = hclge_set_vf_alive(vport, req);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "PF failed(%d) to set VF's ALIVE\n",
- ret);
- break;
- case HCLGE_MBX_GET_QINFO:
- hclge_get_vf_queue_info(vport, &resp_msg);
- break;
- case HCLGE_MBX_GET_QDEPTH:
- hclge_get_vf_queue_depth(vport, &resp_msg);
- break;
- case HCLGE_MBX_GET_BASIC_INFO:
- hclge_get_basic_info(vport, &resp_msg);
- break;
- case HCLGE_MBX_GET_LINK_STATUS:
- ret = hclge_push_vf_link_status(vport);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "failed to inform link stat to VF, ret = %d\n",
- ret);
- break;
- case HCLGE_MBX_QUEUE_RESET:
- ret = hclge_mbx_reset_vf_queue(vport, req, &resp_msg);
- break;
- case HCLGE_MBX_RESET:
- ret = hclge_reset_vf(vport);
- break;
- case HCLGE_MBX_KEEP_ALIVE:
- hclge_vf_keep_alive(vport);
- break;
- case HCLGE_MBX_SET_MTU:
- ret = hclge_set_vf_mtu(vport, req);
- if (ret)
- dev_err(&hdev->pdev->dev,
- "VF fail(%d) to set mtu\n", ret);
- break;
- case HCLGE_MBX_GET_QID_IN_PF:
- ret = hclge_get_queue_id_in_pf(vport, req, &resp_msg);
- break;
- case HCLGE_MBX_GET_RSS_KEY:
- ret = hclge_get_rss_key(vport, req, &resp_msg);
- break;
- case HCLGE_MBX_GET_LINK_MODE:
- hclge_get_link_mode(vport, req);
- break;
- case HCLGE_MBX_GET_VF_FLR_STATUS:
- case HCLGE_MBX_VF_UNINIT:
- is_del = req->msg.code == HCLGE_MBX_VF_UNINIT;
- hclge_rm_vport_all_mac_table(vport, is_del,
- HCLGE_MAC_ADDR_UC);
- hclge_rm_vport_all_mac_table(vport, is_del,
- HCLGE_MAC_ADDR_MC);
- hclge_rm_vport_all_vlan_table(vport, is_del);
- break;
- case HCLGE_MBX_GET_MEDIA_TYPE:
- hclge_get_vf_media_type(vport, &resp_msg);
- break;
- case HCLGE_MBX_PUSH_LINK_STATUS:
- hclge_handle_link_change_event(hdev, req);
- break;
- case HCLGE_MBX_GET_MAC_ADDR:
- hclge_get_vf_mac_addr(vport, &resp_msg);
- break;
- case HCLGE_MBX_NCSI_ERROR:
- hclge_handle_ncsi_error(hdev);
- break;
- case HCLGE_MBX_HANDLE_VF_TBL:
- hclge_handle_vf_tbl(vport, req);
- break;
- default:
- dev_err(&hdev->pdev->dev,
- "un-supported mailbox message, code = %u\n",
- req->msg.code);
- break;
- }
-
- /* PF driver should not reply IMP */
- if (hnae3_get_bit(req->mbx_need_resp, HCLGE_MBX_NEED_RESP_B) &&
- req->msg.code < HCLGE_MBX_GET_VF_FLR_STATUS) {
- resp_msg.status = ret;
- if (time_is_before_jiffies(hdev->last_mbx_scheduled +
- HCLGE_MBX_SCHED_TIMEOUT))
- dev_warn(&hdev->pdev->dev,
- "resp vport%u mbx(%u,%u) late\n",
- req->mbx_src_vfid,
- req->msg.code,
- req->msg.subcode);
-
- hclge_gen_resp_to_vf(vport, req, &resp_msg);
- }
+ param.vport = &hdev->vport[req->mbx_src_vfid];
+ param.req = req;
+ hclge_mbx_request_handling(¶m);
crq->desc[crq->next_to_use].flag = 0;
hclge_mbx_ring_ptr_move_crq(crq);
-
- /* reinitialize ret after complete the mbx message processing */
- ret = 0;
}
/* Write back CMDQ_RQ header pointer, M7 need this pointer */
--
2.35.1
next prev parent reply other threads:[~2023-01-10 18:09 UTC|newest]
Thread overview: 170+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-10 18:01 [PATCH 6.0 000/148] 6.0.19-rc1 review Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 001/148] ARM: renumber bits related to _TIF_WORK_MASK Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 002/148] btrfs: replace strncpy() with strscpy() Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 003/148] cifs: fix interface count calculation during refresh Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 004/148] cifs: refcount only the selected iface during interface update Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 005/148] usb: dwc3: gadget: Ignore End Transfer delay on teardown Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 006/148] perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 007/148] perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged data Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 008/148] phy: qcom-qmp-combo: fix broken power on Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 009/148] ext4: goto right label failed_mount3a Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 010/148] ext4: correct inconsistent error msg in nojournal mode Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 011/148] SUNRPC: ensure the matching upcall is in-flight upon downcall Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 012/148] btrfs: fix an error handling path in btrfs_defrag_leaves() Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 013/148] wifi: ath9k: use proper statements in conditionals Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 014/148] bpf: pull before calling skb_postpull_rcsum() Greg Kroah-Hartman
2023-01-10 18:01 ` [PATCH 6.0 015/148] drm/panfrost: Fix GEM handle creation ref-counting Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 016/148] netfilter: nf_tables: consolidate set description Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 017/148] netfilter: nf_tables: add function to create set stateful expressions Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 018/148] netfilter: nf_tables: perform type checking for existing sets Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 019/148] ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 020/148] net: vrf: determine the dst using the original ifindex for multicast Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 021/148] vmxnet3: correctly report csum_level for encapsulated packet Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 022/148] mptcp: fix lockdep false positive Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 023/148] netfilter: nf_tables: honor set timeout and garbage collection updates Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 024/148] bonding: fix lockdep splat in bond_miimon_commit() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 025/148] net: lan966x: Fix configuration of the PCS Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 026/148] veth: Fix race with AF_XDP exposing old or uninitialized descriptors Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 027/148] nfsd: shut down the NFSv4 state objects before the filecache Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 028/148] net: hns3: add interrupts re-initialization while doing VF FLR Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 029/148] net: hns3: fix miss L3E checking for rx packet Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 030/148] net: hns3: fix VF promisc mode not update when mac table full Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 031/148] net: sched: fix memory leak in tcindex_set_parms Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 032/148] qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 033/148] net: dsa: mv88e6xxx: depend on PTP conditionally Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 034/148] nfc: Fix potential resource leaks Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 035/148] bnxt_en: Simplify bnxt_xdp_buff_init() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 036/148] bnxt_en: Fix XDP RX path Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 037/148] bnxt_en: Fix first buffer size calculations for XDP multi-buffer Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 038/148] bnxt_en: Fix HDS and jumbo thresholds for RX packets Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 039/148] vdpa/mlx5: Fix rule forwarding VLAN to TIR Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 040/148] vdpa/mlx5: Fix wrong mac address deletion Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 041/148] vdpa_sim: fix possible memory leak in vdpasim_net_init() and vdpasim_blk_init() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 042/148] vhost/vsock: Fix error handling in vhost_vsock_init() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 043/148] vringh: fix range used in iotlb_translate() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 044/148] vhost: fix range used in translate_desc() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 045/148] vhost-vdpa: fix an iotlb memory leak Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 046/148] vdpa_sim: fix vringh initialization in vdpasim_queue_ready() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 047/148] virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session() Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 048/148] vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 049/148] vdpasim: fix memory leak when freeing IOTLBs Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 050/148] net/mlx5: E-Switch, properly handle ingress tagged packets on VST Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 051/148] net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 052/148] net/mlx5: Fix io_eq_size and event_eq_size params validation Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 053/148] net/mlx5: Avoid recovery in probe flows Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 054/148] net/mlx5: Fix RoCE setting at HCA level Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 055/148] net/mlx5e: IPoIB, Dont allow CQE compression to be turned on by default Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 056/148] net/mlx5e: CT: Fix ct debugfs folder name Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 057/148] net/mlx5e: Always clear dest encap in neigh-update-del Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 058/148] net/mlx5e: Fix hw mtu initializing at XDP SQ allocation Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 059/148] net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 060/148] net/mlx5: Lag, fix failure to cancel delayed bond work Greg Kroah-Hartman
2023-01-10 18:02 ` Greg Kroah-Hartman [this message]
2023-01-10 18:02 ` [PATCH 6.0 062/148] net: hns3: refine the handling for VF heartbeat Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 063/148] net: amd-xgbe: add missed tasklet_kill Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 064/148] net: ena: Fix toeplitz initial hash value Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 065/148] net: ena: Dont register memory info on XDP exchange Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 066/148] net: ena: Account for the number of processed bytes in XDP Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 067/148] net: ena: Use bitmask to indicate packet redirection Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 068/148] net: ena: Fix rx_copybreak value update Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 069/148] net: ena: Set default value for RX interrupt moderation Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 070/148] net: ena: Update NUMA TPH hint register upon NUMA node update Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 071/148] net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 072/148] RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 073/148] RDMA/mlx5: Fix validation of max_rd_atomic caps for DC Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 074/148] selftests: net: fix cleanup_v6() for arp_ndisc_evict_nocarrier Greg Kroah-Hartman
2023-01-10 18:02 ` [PATCH 6.0 075/148] selftests: net: return non-zero for failures reported in arp_ndisc_evict_nocarrier Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 076/148] drm/meson: Reduce the FIFO lines held when AFBC is not used Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 077/148] filelock: new helper: vfs_inode_has_locks Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 078/148] ceph: switch to vfs_inode_has_locks() to fix file lock bug Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 079/148] gpio: sifive: Fix refcount leak in sifive_gpio_probe Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 080/148] net: sched: atm: dont intepret cls results when asked to drop Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 081/148] net: sched: cbq: " Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 082/148] vxlan: Fix memory leaks in error path Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 083/148] net: sparx5: Fix reading of the MAC address Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 084/148] netfilter: ipset: fix hash:net,port,net hang with /0 subnet Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 085/148] netfilter: ipset: Rework long task execution when adding/deleting entries Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 086/148] perf tools: Fix resources leak in perf_data__open_dir() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 087/148] drm/imx: ipuv3-plane: Fix overlay plane width Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 088/148] fs/ntfs3: dont hold ni_lock when calling truncate_setsize() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 089/148] drivers/net/bonding/bond_3ad: return when theres no aggregator Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 090/148] octeontx2-pf: Fix lmtst ID used in aura free Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 091/148] usb: rndis_host: Secure rndis_query check against int overflow Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 092/148] perf lock contention: Fix core dump related to not finding the "__sched_text_end" symbol on s/390 Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 093/148] perf stat: Fix handling of unsupported cgroup events when using BPF counters Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 094/148] perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match non BPF mode Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 095/148] drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 096/148] drm/i915/gvt: fix double free bug in split_2MB_gtt_entry Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 097/148] ublk: honor IO_URING_F_NONBLOCK for handling control command Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 098/148] qed: allow sleep in qed_mcp_trace_dump() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 099/148] net/ulp: prevent ULP without clone op from entering the LISTEN status Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 100/148] caif: fix memory leak in cfctrl_linkup_request() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 101/148] udf: Fix extension of the last extent in the file Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 102/148] usb: dwc3: xilinx: include linux/gpio/consumer.h Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 103/148] hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 104/148] ASoC: SOF: Revert: "core: unregister clients and machine drivers in .shutdown" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 105/148] 9p/client: fix data race on req->status Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 106/148] ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 107/148] ASoC: SOF: mediatek: initialize panic_info to zero Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 108/148] drm/amdgpu: Fix size validation for non-exclusive domains (v4) Greg Kroah-Hartman
2023-01-12 16:25 ` Luben Tuikov
2023-01-12 16:49 ` Greg Kroah-Hartman
2023-01-12 16:59 ` Luben Tuikov
2023-01-12 17:16 ` Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 109/148] drm/amdkfd: Fix kfd_process_device_init_vm error handling Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 110/148] drm/amdkfd: Fix double release compute pasid Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 111/148] nvme: fix multipath crash caused by flush request when blktrace is enabled Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 112/148] io_uring: check for valid register opcode earlier Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 113/148] nvmet: use NVME_CMD_EFFECTS_CSUPP instead of open coding it Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 114/148] nvme: also return I/O command effects from nvme_command_effects Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 115/148] ASoC: SOF: Intel: pci-tgl: unblock S5 entry if DMA stop has failed" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 116/148] btrfs: check superblock to ensure the fs was not modified at thaw time Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 117/148] btrfs: dont save block group root into super block Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 118/148] btrfs: separate BLOCK_GROUP_TREE compat RO flag from EXTENT_TREE_V2 Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 119/148] btrfs: relax block-group-tree feature dependency checks Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 120/148] btrfs: fix compat_ro checks against remount Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 121/148] x86/kexec: Fix double-free of elf header buffer Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 122/148] x86/bugs: Flush IBP in ib_prctl_set() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 123/148] nfsd: fix handling of readdir in v4root vs. mount upcall timeout Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 124/148] fbdev: matroxfb: G200eW: Increase max memory from 1 MB to 16 MB Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 125/148] bpf: Fix panic due to wrong pageattr of im->image Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 126/148] Revert "drm/amd/display: Enable Freesync Video Mode by default" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 127/148] Revert "net: dsa: qca8k: cache lo and hi for mdio write" Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 128/148] net: dsa: qca8k: fix wrong length value for mgmt eth packet Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 129/148] net: dsa: tag_qca: fix wrong MGMT_DATA2 size Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 130/148] block: dont allow splitting of a REQ_NOWAIT bio Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 131/148] io_uring: fix CQ waiting timeout handling Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 132/148] vhost_vdpa: fix the crash in unmap a large memory Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 133/148] thermal: int340x: Add missing attribute for data rate base Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 134/148] riscv: uaccess: fix type of 0 variable on error in get_user() Greg Kroah-Hartman
2023-01-10 18:03 ` [PATCH 6.0 135/148] riscv, kprobes: Stricter c.jr/c.jalr decoding Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 136/148] of/fdt: run soc memory setup when early_init_dt_scan_memory fails Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 137/148] drm/amdkfd: Fix kernel warning during topology setup Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 138/148] drm/i915/gvt: fix gvt debugfs destroy Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 139/148] drm/i915/gvt: fix vgpu debugfs clean in remove Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 140/148] virtio-blk: use a helper to handle request queuing errors Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 141/148] virtio_blk: Fix signedness bug in virtblk_prep_rq() Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 142/148] btrfs: handle case when repair happens with dev-replace Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 143/148] ksmbd: fix infinite loop in ksmbd_conn_handler_loop() Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 144/148] ksmbd: send proper error response in smb2_tree_connect() Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 145/148] ksmbd: check nt_len to be at least CIFS_ENCPWD_SIZE in ksmbd_decode_ntlmssp_auth_blob Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 146/148] btrfs: make thaw time super block check to also verify checksum Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 147/148] efi: random: combine bootloader provided RNG seed with RNG protocol output Greg Kroah-Hartman
2023-01-10 18:04 ` [PATCH 6.0 148/148] drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 Greg Kroah-Hartman
2023-01-10 19:23 ` [PATCH 6.0 000/148] 6.0.19-rc1 review Florian Fainelli
2023-01-11 0:37 ` Shuah Khan
2023-01-11 6:16 ` Naresh Kamboju
2023-01-11 6:23 ` Naresh Kamboju
2023-01-11 8:18 ` Arnd Bergmann
2023-01-11 9:31 ` Naresh Kamboju
2023-01-11 11:18 ` Arnd Bergmann
2023-01-11 12:52 ` Naresh Kamboju
2023-01-13 9:32 ` Pavel Machek
2023-01-13 15:48 ` Naresh Kamboju
2023-01-11 11:17 ` Jon Hunter
2023-01-11 13:00 ` Sudip Mukherjee
2023-01-11 13:09 ` Bagas Sanjaya
2023-01-11 13:52 ` Naresh Kamboju
2023-01-11 17:25 ` Justin Forbes
2023-01-11 18:56 ` Conor Dooley
2023-01-12 0:39 ` 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=20230110180019.157262646@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=huangguangbin2@huawei.com \
--cc=kuba@kernel.org \
--cc=lanhao@huawei.com \
--cc=patches@lists.linux.dev \
--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