From: Greg Kroah-Hartman Date: Mon, 23 Oct 2023 08:51:45 +0000 (+0200) Subject: drop queue-5.15/devlink-make-devlink_register-to-be-void.patch X-Git-Tag: v4.14.328~17 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8d1c4777ed48368565dc826b5e15c83f3014f60b;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-5.15/devlink-make-devlink_register-to-be-void.patch --- diff --git a/queue-5.15/devlink-make-devlink_register-to-be-void.patch b/queue-5.15/devlink-make-devlink_register-to-be-void.patch deleted file mode 100644 index 670ae2f208e..00000000000 --- a/queue-5.15/devlink-make-devlink_register-to-be-void.patch +++ /dev/null @@ -1,711 +0,0 @@ -From 3fcd043424744c62b4b710d27b3a845ef1e4225b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 22 Sep 2021 11:58:03 +0300 -Subject: devlink: Make devlink_register to be void - -From: Leon Romanovsky - -[ Upstream commit db4278c55fa53760893266538e86e638330b03bb ] - -devlink_register() can't fail and always returns success, but all drivers -are obligated to check returned status anyway. This adds a lot of boilerplate -code to handle impossible flow. - -Make devlink_register() void and simplify the drivers that use that -API call. - -Signed-off-by: Leon Romanovsky -Acked-by: Simon Horman -Acked-by: Vladimir Oltean # dsa -Reviewed-by: Jiri Pirko -Signed-off-by: David S. Miller -Stable-dep-of: 0288c3e709e5 ("ice: reset first in crash dump kernels") -Signed-off-by: Sasha Levin ---- - drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 11 ++--------- - drivers/net/ethernet/cavium/liquidio/lio_main.c | 8 +------- - .../ethernet/freescale/dpaa2/dpaa2-eth-devlink.c | 13 +------------ - .../ethernet/hisilicon/hns3/hns3pf/hclge_devlink.c | 14 +------------- - .../hisilicon/hns3/hns3vf/hclgevf_devlink.c | 14 +------------- - drivers/net/ethernet/huawei/hinic/hinic_devlink.c | 4 ++-- - drivers/net/ethernet/huawei/hinic/hinic_devlink.h | 2 +- - drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c | 8 +------- - drivers/net/ethernet/intel/ice/ice_devlink.c | 12 ++---------- - drivers/net/ethernet/intel/ice/ice_devlink.h | 2 +- - drivers/net/ethernet/intel/ice/ice_main.c | 6 +----- - .../ethernet/marvell/octeontx2/af/rvu_devlink.c | 8 +------- - .../ethernet/marvell/octeontx2/nic/otx2_devlink.c | 8 +------- - .../ethernet/marvell/prestera/prestera_devlink.c | 6 +----- - drivers/net/ethernet/mellanox/mlx4/main.c | 5 +---- - drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 5 +---- - drivers/net/ethernet/mellanox/mlxsw/core.c | 8 ++------ - drivers/net/ethernet/mscc/ocelot_vsc7514.c | 6 +----- - drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 6 +----- - .../net/ethernet/pensando/ionic/ionic_devlink.c | 7 +------ - drivers/net/ethernet/qlogic/qed/qed_devlink.c | 7 +------ - drivers/net/ethernet/ti/am65-cpsw-nuss.c | 9 +-------- - drivers/net/ethernet/ti/cpsw_new.c | 8 +------- - drivers/net/netdevsim/dev.c | 6 +----- - drivers/ptp/ptp_ocp.c | 7 +------ - drivers/staging/qlge/qlge_main.c | 6 +----- - include/net/devlink.h | 2 +- - net/core/devlink.c | 3 +-- - net/dsa/dsa2.c | 7 +------ - 29 files changed, 33 insertions(+), 175 deletions(-) - -diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c -index 2a80882971e3d..dc0851f709f52 100644 ---- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c -+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c -@@ -805,12 +805,7 @@ int bnxt_dl_register(struct bnxt *bp) - bp->hwrm_spec_code > 0x10803) - bp->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY; - -- rc = devlink_register(dl); -- if (rc) { -- netdev_warn(bp->dev, "devlink_register failed. rc=%d\n", rc); -- goto err_dl_free; -- } -- -+ devlink_register(dl); - if (!BNXT_PF(bp)) - return 0; - -@@ -822,7 +817,7 @@ int bnxt_dl_register(struct bnxt *bp) - rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); - if (rc) { - netdev_err(bp->dev, "devlink_port_register failed\n"); -- goto err_dl_unreg; -+ goto err_dl_free; - } - - rc = bnxt_dl_params_register(bp); -@@ -833,8 +828,6 @@ int bnxt_dl_register(struct bnxt *bp) - - err_dl_port_unreg: - devlink_port_unregister(&bp->dl_port); --err_dl_unreg: -- devlink_unregister(dl); - err_dl_free: - devlink_free(dl); - return rc; -diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c -index 443755729d793..cf4a9c6600800 100644 ---- a/drivers/net/ethernet/cavium/liquidio/lio_main.c -+++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c -@@ -3778,13 +3778,7 @@ static int setup_nic_devices(struct octeon_device *octeon_dev) - lio_devlink = devlink_priv(devlink); - lio_devlink->oct = octeon_dev; - -- if (devlink_register(devlink)) { -- devlink_free(devlink); -- dev_err(&octeon_dev->pci_dev->dev, -- "devlink registration failed\n"); -- goto setup_nic_dev_free; -- } -- -+ devlink_register(devlink); - octeon_dev->devlink = devlink; - octeon_dev->eswitch_mode = DEVLINK_ESWITCH_MODE_LEGACY; - -diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c -index 605a39f892b94..426926fb6fc6e 100644 ---- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c -+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c -@@ -194,7 +194,6 @@ int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) - struct net_device *net_dev = priv->net_dev; - struct device *dev = net_dev->dev.parent; - struct dpaa2_eth_devlink_priv *dl_priv; -- int err; - - priv->devlink = - devlink_alloc(&dpaa2_eth_devlink_ops, sizeof(*dl_priv), dev); -@@ -205,18 +204,8 @@ int dpaa2_eth_dl_register(struct dpaa2_eth_priv *priv) - dl_priv = devlink_priv(priv->devlink); - dl_priv->dpaa2_priv = priv; - -- err = devlink_register(priv->devlink); -- if (err) { -- dev_err(dev, "devlink_register() = %d\n", err); -- goto devlink_free; -- } -- -+ devlink_register(priv->devlink); - return 0; -- --devlink_free: -- devlink_free(priv->devlink); -- -- return err; - } - - void dpaa2_eth_dl_unregister(struct dpaa2_eth_priv *priv) -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_devlink.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_devlink.c -index e4aad695abcc1..59b0ae7d59e01 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_devlink.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_devlink.c -@@ -109,7 +109,6 @@ int hclge_devlink_init(struct hclge_dev *hdev) - struct pci_dev *pdev = hdev->pdev; - struct hclge_devlink_priv *priv; - struct devlink *devlink; -- int ret; - - devlink = devlink_alloc(&hclge_devlink_ops, - sizeof(struct hclge_devlink_priv), &pdev->dev); -@@ -120,20 +119,9 @@ int hclge_devlink_init(struct hclge_dev *hdev) - priv->hdev = hdev; - hdev->devlink = devlink; - -- ret = devlink_register(devlink); -- if (ret) { -- dev_err(&pdev->dev, "failed to register devlink, ret = %d\n", -- ret); -- goto out_reg_fail; -- } -- -+ devlink_register(devlink); - devlink_reload_enable(devlink); -- - return 0; -- --out_reg_fail: -- devlink_free(devlink); -- return ret; - } - - void hclge_devlink_uninit(struct hclge_dev *hdev) -diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_devlink.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_devlink.c -index f478770299c6c..d60cc9426f701 100644 ---- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_devlink.c -+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_devlink.c -@@ -110,7 +110,6 @@ int hclgevf_devlink_init(struct hclgevf_dev *hdev) - struct pci_dev *pdev = hdev->pdev; - struct hclgevf_devlink_priv *priv; - struct devlink *devlink; -- int ret; - - devlink = - devlink_alloc(&hclgevf_devlink_ops, -@@ -122,20 +121,9 @@ int hclgevf_devlink_init(struct hclgevf_dev *hdev) - priv->hdev = hdev; - hdev->devlink = devlink; - -- ret = devlink_register(devlink); -- if (ret) { -- dev_err(&pdev->dev, "failed to register devlink, ret = %d\n", -- ret); -- goto out_reg_fail; -- } -- -+ devlink_register(devlink); - devlink_reload_enable(devlink); -- - return 0; -- --out_reg_fail: -- devlink_free(devlink); -- return ret; - } - - void hclgevf_devlink_uninit(struct hclgevf_dev *hdev) -diff --git a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c -index 6e11ee339f12f..60ae8bfc5f69a 100644 ---- a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c -+++ b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c -@@ -303,11 +303,11 @@ void hinic_devlink_free(struct devlink *devlink) - devlink_free(devlink); - } - --int hinic_devlink_register(struct hinic_devlink_priv *priv) -+void hinic_devlink_register(struct hinic_devlink_priv *priv) - { - struct devlink *devlink = priv_to_devlink(priv); - -- return devlink_register(devlink); -+ devlink_register(devlink); - } - - void hinic_devlink_unregister(struct hinic_devlink_priv *priv) -diff --git a/drivers/net/ethernet/huawei/hinic/hinic_devlink.h b/drivers/net/ethernet/huawei/hinic/hinic_devlink.h -index 9e315011015c5..46760d607b9b0 100644 ---- a/drivers/net/ethernet/huawei/hinic/hinic_devlink.h -+++ b/drivers/net/ethernet/huawei/hinic/hinic_devlink.h -@@ -110,7 +110,7 @@ struct host_image_st { - - struct devlink *hinic_devlink_alloc(struct device *dev); - void hinic_devlink_free(struct devlink *devlink); --int hinic_devlink_register(struct hinic_devlink_priv *priv); -+void hinic_devlink_register(struct hinic_devlink_priv *priv); - void hinic_devlink_unregister(struct hinic_devlink_priv *priv); - - int hinic_health_reporters_create(struct hinic_devlink_priv *priv); -diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c b/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c -index 8b04d133b3c47..536ed7c290c73 100644 ---- a/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c -+++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c -@@ -753,13 +753,7 @@ static int init_pfhwdev(struct hinic_pfhwdev *pfhwdev) - return err; - } - -- err = hinic_devlink_register(hwdev->devlink_dev); -- if (err) { -- dev_err(&hwif->pdev->dev, "Failed to register devlink\n"); -- hinic_pf_to_mgmt_free(&pfhwdev->pf_to_mgmt); -- return err; -- } -- -+ hinic_devlink_register(hwdev->devlink_dev); - err = hinic_func_to_func_init(hwdev); - if (err) { - dev_err(&hwif->pdev->dev, "Failed to init mailbox\n"); -diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.c b/drivers/net/ethernet/intel/ice/ice_devlink.c -index 2ec5d5cb72803..43dca9ab57ec9 100644 ---- a/drivers/net/ethernet/intel/ice/ice_devlink.c -+++ b/drivers/net/ethernet/intel/ice/ice_devlink.c -@@ -499,19 +499,11 @@ struct ice_pf *ice_allocate_pf(struct device *dev) - * - * Return: zero on success or an error code on failure. - */ --int ice_devlink_register(struct ice_pf *pf) -+void ice_devlink_register(struct ice_pf *pf) - { - struct devlink *devlink = priv_to_devlink(pf); -- struct device *dev = ice_pf_to_dev(pf); -- int err; - -- err = devlink_register(devlink); -- if (err) { -- dev_err(dev, "devlink registration failed: %d\n", err); -- return err; -- } -- -- return 0; -+ devlink_register(devlink); - } - - /** -diff --git a/drivers/net/ethernet/intel/ice/ice_devlink.h b/drivers/net/ethernet/intel/ice/ice_devlink.h -index e30284ccbed4c..b7f9551e4fc44 100644 ---- a/drivers/net/ethernet/intel/ice/ice_devlink.h -+++ b/drivers/net/ethernet/intel/ice/ice_devlink.h -@@ -6,7 +6,7 @@ - - struct ice_pf *ice_allocate_pf(struct device *dev); - --int ice_devlink_register(struct ice_pf *pf); -+void ice_devlink_register(struct ice_pf *pf); - void ice_devlink_unregister(struct ice_pf *pf); - int ice_devlink_create_pf_port(struct ice_pf *pf); - void ice_devlink_destroy_pf_port(struct ice_pf *pf); -diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c -index d4c29e2562a1c..b742afafd90bb 100644 ---- a/drivers/net/ethernet/intel/ice/ice_main.c -+++ b/drivers/net/ethernet/intel/ice/ice_main.c -@@ -4324,11 +4324,7 @@ ice_probe(struct pci_dev *pdev, const struct pci_device_id __always_unused *ent) - - pf->msg_enable = netif_msg_init(debug, ICE_DFLT_NETIF_M); - -- err = ice_devlink_register(pf); -- if (err) { -- dev_err(dev, "ice_devlink_register failed: %d\n", err); -- goto err_exit_unroll; -- } -+ ice_devlink_register(pf); - - #ifndef CONFIG_DYNAMIC_DEBUG - if (debug < -1) -diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c -index 274d3abe30eb4..de9562acd04b6 100644 ---- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c -+++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c -@@ -1510,13 +1510,7 @@ int rvu_register_dl(struct rvu *rvu) - return -ENOMEM; - } - -- err = devlink_register(dl); -- if (err) { -- dev_err(rvu->dev, "devlink register failed with error %d\n", err); -- devlink_free(dl); -- return err; -- } -- -+ devlink_register(dl); - rvu_dl = devlink_priv(dl); - rvu_dl->dl = dl; - rvu_dl->rvu = rvu; -diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_devlink.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_devlink.c -index 7ac3ef2fa06a2..3de18f9433ae2 100644 ---- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_devlink.c -+++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_devlink.c -@@ -108,13 +108,7 @@ int otx2_register_dl(struct otx2_nic *pfvf) - return -ENOMEM; - } - -- err = devlink_register(dl); -- if (err) { -- dev_err(pfvf->dev, "devlink register failed with error %d\n", err); -- devlink_free(dl); -- return err; -- } -- -+ devlink_register(dl); - otx2_dl = devlink_priv(dl); - otx2_dl->dl = dl; - otx2_dl->pfvf = pfvf; -diff --git a/drivers/net/ethernet/marvell/prestera/prestera_devlink.c b/drivers/net/ethernet/marvell/prestera/prestera_devlink.c -index 68b442eb6d694..5cca007a3e179 100644 ---- a/drivers/net/ethernet/marvell/prestera/prestera_devlink.c -+++ b/drivers/net/ethernet/marvell/prestera/prestera_devlink.c -@@ -412,11 +412,7 @@ int prestera_devlink_register(struct prestera_switch *sw) - struct devlink *dl = priv_to_devlink(sw); - int err; - -- err = devlink_register(dl); -- if (err) { -- dev_err(prestera_dev(sw), "devlink_register failed: %d\n", err); -- return err; -- } -+ devlink_register(dl); - - err = prestera_devlink_traps_register(sw); - if (err) { -diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c -index 5a6b0fcaf7f8a..27ed4694fbeac 100644 ---- a/drivers/net/ethernet/mellanox/mlx4/main.c -+++ b/drivers/net/ethernet/mellanox/mlx4/main.c -@@ -4015,9 +4015,7 @@ static int mlx4_init_one(struct pci_dev *pdev, const struct pci_device_id *id) - mutex_init(&dev->persist->interface_state_mutex); - mutex_init(&dev->persist->pci_status_mutex); - -- ret = devlink_register(devlink); -- if (ret) -- goto err_persist_free; -+ devlink_register(devlink); - ret = devlink_params_register(devlink, mlx4_devlink_params, - ARRAY_SIZE(mlx4_devlink_params)); - if (ret) -@@ -4037,7 +4035,6 @@ static int mlx4_init_one(struct pci_dev *pdev, const struct pci_device_id *id) - ARRAY_SIZE(mlx4_devlink_params)); - err_devlink_unregister: - devlink_unregister(devlink); --err_persist_free: - kfree(dev->persist); - err_devlink_free: - devlink_free(devlink); -diff --git a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c -index 7d56a927081d0..b36f721625e45 100644 ---- a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c -+++ b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c -@@ -793,10 +793,7 @@ int mlx5_devlink_register(struct devlink *devlink) - { - int err; - -- err = devlink_register(devlink); -- if (err) -- return err; -- -+ devlink_register(devlink); - err = devlink_params_register(devlink, mlx5_devlink_params, - ARRAY_SIZE(mlx5_devlink_params)); - if (err) -diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c -index f080fab3de2b5..2d5f82be3db0e 100644 ---- a/drivers/net/ethernet/mellanox/mlxsw/core.c -+++ b/drivers/net/ethernet/mellanox/mlxsw/core.c -@@ -1974,11 +1974,8 @@ __mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info, - if (err) - goto err_emad_init; - -- if (!reload) { -- err = devlink_register(devlink); -- if (err) -- goto err_devlink_register; -- } -+ if (!reload) -+ devlink_register(devlink); - - if (!reload) { - err = mlxsw_core_params_register(mlxsw_core); -@@ -2038,7 +2035,6 @@ __mlxsw_core_bus_device_register(const struct mlxsw_bus_info *mlxsw_bus_info, - err_register_params: - if (!reload) - devlink_unregister(devlink); --err_devlink_register: - mlxsw_emad_fini(mlxsw_core); - err_emad_init: - kfree(mlxsw_core->lag.mapping); -diff --git a/drivers/net/ethernet/mscc/ocelot_vsc7514.c b/drivers/net/ethernet/mscc/ocelot_vsc7514.c -index d51f799e4e861..a66e96ab24c71 100644 ---- a/drivers/net/ethernet/mscc/ocelot_vsc7514.c -+++ b/drivers/net/ethernet/mscc/ocelot_vsc7514.c -@@ -1135,10 +1135,7 @@ static int mscc_ocelot_probe(struct platform_device *pdev) - if (err) - goto out_put_ports; - -- err = devlink_register(devlink); -- if (err) -- goto out_ocelot_deinit; -- -+ devlink_register(devlink); - err = mscc_ocelot_init_ports(pdev, ports); - if (err) - goto out_ocelot_devlink_unregister; -@@ -1171,7 +1168,6 @@ static int mscc_ocelot_probe(struct platform_device *pdev) - mscc_ocelot_teardown_devlink_ports(ocelot); - out_ocelot_devlink_unregister: - devlink_unregister(devlink); --out_ocelot_deinit: - ocelot_deinit(ocelot); - out_put_ports: - of_node_put(ports); -diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c -index 74c4bf4d397d8..6d3edeff1bb33 100644 ---- a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c -+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c -@@ -701,10 +701,7 @@ int nfp_net_pci_probe(struct nfp_pf *pf) - if (err) - goto err_unmap; - -- err = devlink_register(devlink); -- if (err) -- goto err_app_clean; -- -+ devlink_register(devlink); - err = nfp_shared_buf_register(pf); - if (err) - goto err_devlink_unreg; -@@ -752,7 +749,6 @@ int nfp_net_pci_probe(struct nfp_pf *pf) - err_devlink_unreg: - cancel_work_sync(&pf->port_refresh_work); - devlink_unregister(devlink); --err_app_clean: - nfp_net_pf_app_clean(pf); - err_unmap: - nfp_net_pci_unmap_mem(pf); -diff --git a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c -index 5c06decc868c4..17b2060405513 100644 ---- a/drivers/net/ethernet/pensando/ionic/ionic_devlink.c -+++ b/drivers/net/ethernet/pensando/ionic/ionic_devlink.c -@@ -84,12 +84,7 @@ int ionic_devlink_register(struct ionic *ionic) - struct devlink_port_attrs attrs = {}; - int err; - -- err = devlink_register(dl); -- if (err) { -- dev_warn(ionic->dev, "devlink_register failed: %d\n", err); -- return err; -- } -- -+ devlink_register(dl); - attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL; - devlink_port_attrs_set(&ionic->dl_port, &attrs); - err = devlink_port_register(dl, &ionic->dl_port, 0); -diff --git a/drivers/net/ethernet/qlogic/qed/qed_devlink.c b/drivers/net/ethernet/qlogic/qed/qed_devlink.c -index 78070682f2dff..c51f9590fe193 100644 ---- a/drivers/net/ethernet/qlogic/qed/qed_devlink.c -+++ b/drivers/net/ethernet/qlogic/qed/qed_devlink.c -@@ -215,10 +215,7 @@ struct devlink *qed_devlink_register(struct qed_dev *cdev) - qdevlink = devlink_priv(dl); - qdevlink->cdev = cdev; - -- rc = devlink_register(dl); -- if (rc) -- goto err_free; -- -+ devlink_register(dl); - rc = devlink_params_register(dl, qed_devlink_params, - ARRAY_SIZE(qed_devlink_params)); - if (rc) -@@ -238,8 +235,6 @@ struct devlink *qed_devlink_register(struct qed_dev *cdev) - - err_unregister: - devlink_unregister(dl); -- --err_free: - devlink_free(dl); - - return ERR_PTR(rc); -diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c -index 4aa9477ac5977..3cf3befc8576c 100644 ---- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c -+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c -@@ -2441,12 +2441,7 @@ static int am65_cpsw_nuss_register_devlink(struct am65_cpsw_common *common) - dl_priv = devlink_priv(common->devlink); - dl_priv->common = common; - -- ret = devlink_register(common->devlink); -- if (ret) { -- dev_err(dev, "devlink reg fail ret:%d\n", ret); -- goto dl_free; -- } -- -+ devlink_register(common->devlink); - /* Provide devlink hook to switch mode when multiple external ports - * are present NUSS switchdev driver is enabled. - */ -@@ -2491,9 +2486,7 @@ static int am65_cpsw_nuss_register_devlink(struct am65_cpsw_common *common) - } - dl_unreg: - devlink_unregister(common->devlink); --dl_free: - devlink_free(common->devlink); -- - return ret; - } - -diff --git a/drivers/net/ethernet/ti/cpsw_new.c b/drivers/net/ethernet/ti/cpsw_new.c -index 0d921f6542d6f..9c87f857e2859 100644 ---- a/drivers/net/ethernet/ti/cpsw_new.c -+++ b/drivers/net/ethernet/ti/cpsw_new.c -@@ -1813,12 +1813,7 @@ static int cpsw_register_devlink(struct cpsw_common *cpsw) - dl_priv = devlink_priv(cpsw->devlink); - dl_priv->cpsw = cpsw; - -- ret = devlink_register(cpsw->devlink); -- if (ret) { -- dev_err(dev, "DL reg fail ret:%d\n", ret); -- goto dl_free; -- } -- -+ devlink_register(cpsw->devlink); - ret = devlink_params_register(cpsw->devlink, cpsw_devlink_params, - ARRAY_SIZE(cpsw_devlink_params)); - if (ret) { -@@ -1831,7 +1826,6 @@ static int cpsw_register_devlink(struct cpsw_common *cpsw) - - dl_unreg: - devlink_unregister(cpsw->devlink); --dl_free: - devlink_free(cpsw->devlink); - return ret; - } -diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c -index a7279356299af..0c6bfe00b6983 100644 ---- a/drivers/net/netdevsim/dev.c -+++ b/drivers/net/netdevsim/dev.c -@@ -1470,10 +1470,7 @@ int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev) - if (err) - goto err_devlink_free; - -- err = devlink_register(devlink); -- if (err) -- goto err_resources_unregister; -- -+ devlink_register(devlink); - err = devlink_params_register(devlink, nsim_devlink_params, - ARRAY_SIZE(nsim_devlink_params)); - if (err) -@@ -1538,7 +1535,6 @@ int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev) - ARRAY_SIZE(nsim_devlink_params)); - err_dl_unregister: - devlink_unregister(devlink); --err_resources_unregister: - devlink_resources_unregister(devlink, NULL); - err_devlink_free: - devlink_free(devlink); -diff --git a/drivers/ptp/ptp_ocp.c b/drivers/ptp/ptp_ocp.c -index 7a4a06148515a..5120d3d8cca4e 100644 ---- a/drivers/ptp/ptp_ocp.c -+++ b/drivers/ptp/ptp_ocp.c -@@ -1425,10 +1425,7 @@ ptp_ocp_probe(struct pci_dev *pdev, const struct pci_device_id *id) - return -ENOMEM; - } - -- err = devlink_register(devlink); -- if (err) -- goto out_free; -- -+ devlink_register(devlink); - err = pci_enable_device(pdev); - if (err) { - dev_err(&pdev->dev, "pci_enable_device\n"); -@@ -1481,9 +1478,7 @@ ptp_ocp_probe(struct pci_dev *pdev, const struct pci_device_id *id) - pci_disable_device(pdev); - out_unregister: - devlink_unregister(devlink); --out_free: - devlink_free(devlink); -- - return err; - } - -diff --git a/drivers/staging/qlge/qlge_main.c b/drivers/staging/qlge/qlge_main.c -index 8fcdf89da8aa9..33539f6c254d8 100644 ---- a/drivers/staging/qlge/qlge_main.c -+++ b/drivers/staging/qlge/qlge_main.c -@@ -4614,12 +4614,8 @@ static int qlge_probe(struct pci_dev *pdev, - goto netdev_free; - } - -- err = devlink_register(devlink); -- if (err) -- goto netdev_free; -- -+ devlink_register(devlink); - err = qlge_health_create_reporters(qdev); -- - if (err) - goto devlink_unregister; - -diff --git a/include/net/devlink.h b/include/net/devlink.h -index 154cf0dbca372..3c023fd515634 100644 ---- a/include/net/devlink.h -+++ b/include/net/devlink.h -@@ -1566,7 +1566,7 @@ static inline struct devlink *devlink_alloc(const struct devlink_ops *ops, - { - return devlink_alloc_ns(ops, priv_size, &init_net, dev); - } --int devlink_register(struct devlink *devlink); -+void devlink_register(struct devlink *devlink); - void devlink_unregister(struct devlink *devlink); - void devlink_reload_enable(struct devlink *devlink); - void devlink_reload_disable(struct devlink *devlink); -diff --git a/net/core/devlink.c b/net/core/devlink.c -index db76c55e1a6d7..3ff210c9dc5e1 100644 ---- a/net/core/devlink.c -+++ b/net/core/devlink.c -@@ -8961,13 +8961,12 @@ EXPORT_SYMBOL_GPL(devlink_alloc_ns); - * - * @devlink: devlink - */ --int devlink_register(struct devlink *devlink) -+void devlink_register(struct devlink *devlink) - { - mutex_lock(&devlink_mutex); - xa_set_mark(&devlinks, devlink->index, DEVLINK_REGISTERED); - devlink_notify(devlink, DEVLINK_CMD_NEW); - mutex_unlock(&devlink_mutex); -- return 0; - } - EXPORT_SYMBOL_GPL(devlink_register); - -diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c -index 34763f575c308..711eeee885f93 100644 ---- a/net/dsa/dsa2.c -+++ b/net/dsa/dsa2.c -@@ -850,10 +850,7 @@ static int dsa_switch_setup(struct dsa_switch *ds) - dl_priv = devlink_priv(ds->devlink); - dl_priv->ds = ds; - -- err = devlink_register(ds->devlink); -- if (err) -- goto free_devlink; -- -+ devlink_register(ds->devlink); - /* Setup devlink port instances now, so that the switch - * setup() can register regions etc, against the ports - */ -@@ -912,10 +909,8 @@ static int dsa_switch_setup(struct dsa_switch *ds) - if (dp->ds == ds) - dsa_port_devlink_teardown(dp); - devlink_unregister(ds->devlink); --free_devlink: - devlink_free(ds->devlink); - ds->devlink = NULL; -- - return err; - } - --- -2.40.1 - diff --git a/queue-5.15/series b/queue-5.15/series index 932864540f0..64953939d47 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -99,7 +99,6 @@ btrfs-error-out-when-reallocating-block-for-defrag-u.patch hid-multitouch-add-required-quirk-for-synaptics-0xcd.patch platform-x86-touchscreen_dmi-add-info-for-the-positi.patch net-mlx5-handle-fw-tracer-change-ownership-event-bas.patch -devlink-make-devlink_register-to-be-void.patch bluetooth-hci_event-fix-using-memcmp-when-comparing-.patch net-introduce-a-function-to-check-if-a-netdev-name-i.patch net-move-from-strlcpy-with-unused-retval-to-strscpy.patch @@ -137,3 +136,6 @@ gpio-vf610-mask-the-gpio-irq-in-system-suspend-and-s.patch phy-mapphone-mdm6600-fix-runtime-disable-on-probe.patch phy-mapphone-mdm6600-fix-runtime-pm-for-remove.patch phy-mapphone-mdm6600-fix-pinctrl_pm-handling-for-sle.patch +bluetooth-hci_sock-fix-slab-oob-read-in-create_monitor_event.patch +bluetooth-hci_sock-correctly-bounds-check-and-pad-hci_mon_new_index-name.patch +xfrm6-fix-inet6_dev-refcount-underflow-problem.patch