--- /dev/null
- drivers/hwmon/ibmaem.c | 12 ++++++++----
+ From 684935eacc77272ea4bb9cf959c39785383cb1bf Mon Sep 17 00:00:00 2001
+ From: Sasha Levin <sashal@kernel.org>
+ Date: Fri, 1 Jul 2022 15:41:53 +0800
+ Subject: hwmon: (ibmaem) don't call platform_device_del() if
+ platform_device_add() fails
+
+ From: Yang Yingliang <yangyingliang@huawei.com>
+
+ [ Upstream commit d0e51022a025ca5350fafb8e413a6fe5d4baf833 ]
+
+ If platform_device_add() fails, it no need to call platform_device_del(), split
+ platform_device_unregister() into platform_device_del/put(), so platform_device_put()
+ can be called separately.
+
+ Fixes: 8808a793f052 ("ibmaem: new driver for power/energy/temp meters in IBM System X hardware")
+ Reported-by: Hulk Robot <hulkci@huawei.com>
+ Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
+ Link: https://lore.kernel.org/r/20220701074153.4021556-1-yangyingliang@huawei.com
+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+ Signed-off-by: Sasha Levin <sashal@kernel.org>
+ ---
-diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
-index 1f643782ce04..c9cfc958e853 100644
++ drivers/hwmon/ibmaem.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
-@@ -563,7 +563,7 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
+ --- a/drivers/hwmon/ibmaem.c
+ +++ b/drivers/hwmon/ibmaem.c
-@@ -611,7 +611,9 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
++@@ -563,7 +563,7 @@ static int aem_init_aem1_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
-@@ -703,7 +705,7 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -611,7 +611,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
-@@ -751,7 +753,9 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -703,7 +705,7 @@ static int aem_init_aem2_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
---
-2.35.1
-
++@@ -751,7 +753,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
net-bonding-fix-use-after-free-after-802.3ad-slave-unbind.patch
nfc-nfcmrvl-fix-irq_of_parse_and_map-return-value.patch
nfc-nxp-nci-don-t-issue-a-zero-length-i2c_master_read.patch
+xen-gntdev-avoid-blocking-in-unmap_grant_pages.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch
--- /dev/null
- drivers/hwmon/ibmaem.c | 12 ++++++++----
+ From 22488d377cce5027c3d30416d83f14f4501f2845 Mon Sep 17 00:00:00 2001
+ From: Sasha Levin <sashal@kernel.org>
+ Date: Fri, 1 Jul 2022 15:41:53 +0800
+ Subject: hwmon: (ibmaem) don't call platform_device_del() if
+ platform_device_add() fails
+
+ From: Yang Yingliang <yangyingliang@huawei.com>
+
+ [ Upstream commit d0e51022a025ca5350fafb8e413a6fe5d4baf833 ]
+
+ If platform_device_add() fails, it no need to call platform_device_del(), split
+ platform_device_unregister() into platform_device_del/put(), so platform_device_put()
+ can be called separately.
+
+ Fixes: 8808a793f052 ("ibmaem: new driver for power/energy/temp meters in IBM System X hardware")
+ Reported-by: Hulk Robot <hulkci@huawei.com>
+ Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
+ Link: https://lore.kernel.org/r/20220701074153.4021556-1-yangyingliang@huawei.com
+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+ Signed-off-by: Sasha Levin <sashal@kernel.org>
+ ---
-diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
-index 1f643782ce04..c9cfc958e853 100644
++ drivers/hwmon/ibmaem.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
-@@ -563,7 +563,7 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
+ --- a/drivers/hwmon/ibmaem.c
+ +++ b/drivers/hwmon/ibmaem.c
-@@ -611,7 +611,9 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
++@@ -563,7 +563,7 @@ static int aem_init_aem1_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
-@@ -703,7 +705,7 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -611,7 +611,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
-@@ -751,7 +753,9 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -703,7 +705,7 @@ static int aem_init_aem2_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
---
-2.35.1
-
++@@ -751,7 +753,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
nfc-nfcmrvl-fix-irq_of_parse_and_map-return-value.patch
nfc-nxp-nci-don-t-issue-a-zero-length-i2c_master_read.patch
net-tun-avoid-disabling-napi-twice.patch
+xen-gntdev-avoid-blocking-in-unmap_grant_pages.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch
--- /dev/null
- drivers/hwmon/ibmaem.c | 12 ++++++++----
+ From 6020094b482fce844ed8fd69256665469623136c Mon Sep 17 00:00:00 2001
+ From: Sasha Levin <sashal@kernel.org>
+ Date: Fri, 1 Jul 2022 15:41:53 +0800
+ Subject: hwmon: (ibmaem) don't call platform_device_del() if
+ platform_device_add() fails
+
+ From: Yang Yingliang <yangyingliang@huawei.com>
+
+ [ Upstream commit d0e51022a025ca5350fafb8e413a6fe5d4baf833 ]
+
+ If platform_device_add() fails, it no need to call platform_device_del(), split
+ platform_device_unregister() into platform_device_del/put(), so platform_device_put()
+ can be called separately.
+
+ Fixes: 8808a793f052 ("ibmaem: new driver for power/energy/temp meters in IBM System X hardware")
+ Reported-by: Hulk Robot <hulkci@huawei.com>
+ Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
+ Link: https://lore.kernel.org/r/20220701074153.4021556-1-yangyingliang@huawei.com
+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+ Signed-off-by: Sasha Levin <sashal@kernel.org>
+ ---
-diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
-index 1f643782ce04..c9cfc958e853 100644
++ drivers/hwmon/ibmaem.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
-@@ -563,7 +563,7 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
+ --- a/drivers/hwmon/ibmaem.c
+ +++ b/drivers/hwmon/ibmaem.c
-@@ -611,7 +611,9 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
++@@ -563,7 +563,7 @@ static int aem_init_aem1_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
-@@ -703,7 +705,7 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -611,7 +611,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
-@@ -751,7 +753,9 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -703,7 +705,7 @@ static int aem_init_aem2_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
---
-2.35.1
-
++@@ -751,7 +753,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
net-bonding-fix-use-after-free-after-802.3ad-slave-unbind.patch
nfc-nfcmrvl-fix-irq_of_parse_and_map-return-value.patch
nfc-nxp-nci-don-t-issue-a-zero-length-i2c_master_read.patch
+xen-gntdev-avoid-blocking-in-unmap_grant_pages.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch
xfs-fix-xfs_trans-slab-cache-name.patch
xfs-update-superblock-counters-correctly-for-lazysbcount.patch
xfs-fix-xfs_reflink_unshare-usage-of-filemap_write_and_wait_range.patch
-tcp-add-a-missing-nf_reset_ct-in-3whs-handling.patch
+tcp-add-a-missing-nf_reset_ct-in-3whs-handling.patch
+xen-gntdev-avoid-blocking-in-unmap_grant_pages.patch
+ drivers-cpufreq-add-missing-of_node_put-in-qoriq-cpu.patch
+ selftests-mptcp-add-add_addr-timeout-test-case.patch
+ selftests-mptcp-add-link-failure-test-case.patch
+ selftests-mptcp-add-add_addr-ipv6-test-cases.patch
+ selftests-mptcp-launch-mptcp_connect-with-timeout.patch
+ selftests-mptcp-fix-diag-instability.patch
+ selftests-mptcp-more-stable-diag-tests.patch
+ sit-use-min.patch
+ ipv6-sit-fix-ipip6_tunnel_get_prl-return-value.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch
ipv6-fix-lockdep-splat-in-in6_dump_addrs.patch
mlxsw-spectrum_router-fix-rollback-in-tunnel-next-hop-init.patch
net-tun-avoid-disabling-napi-twice.patch
+maintainers-add-leah-as-xfs-maintainer-for-5.15.y.patch
tcp-add-a-missing-nf_reset_ct-in-3whs-handling.patch
+selftests-bpf-add-test_verifier-support-to-fixup-kfunc-call-insns.patch
+ net-fix-iff_tx_skb_no_linear-definition.patch
+ drm-i915-gem-add-missing-else.patch
+ drm-msm-gem-fix-error-return-on-fence-id-alloc-fail.patch
+ drivers-cpufreq-add-missing-of_node_put-in-qoriq-cpu.patch
+ platform-x86-panasonic-laptop-de-obfuscate-button-co.patch
+ platform-x86-panasonic-laptop-sort-includes-alphabet.patch
+ platform-x86-panasonic-laptop-revert-resolve-hotkey-.patch
+ platform-x86-panasonic-laptop-don-t-report-duplicate.patch
+ platform-x86-panasonic-laptop-filter-out-duplicate-v.patch
+ drm-fourcc-fix-integer-type-usage-in-uapi-header.patch
+ hwmon-occ-remove-sequence-numbering-and-checksum-cal.patch
+ hwmon-occ-prevent-power-cap-command-overwriting-poll.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch
Reviewed-by: Ilya Maximets <i.maximets@ovn.org>
Link: https://lore.kernel.org/r/20220623050436.1290307-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+ Signed-off-by: Sasha Levin <sashal@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
- net/ipv4/tcp_ipv4.c | 4 +++-
+ net/ipv4/tcp_ipv4.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
-diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
-index a189625098ba..ac078d081212 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
-@@ -2014,7 +2014,8 @@ int tcp_v4_rcv(struct sk_buff *skb)
+@@ -2014,7 +2014,8 @@ process:
struct sock *nsk;
sk = req->rsk_listener;
ipv6-fix-lockdep-splat-in-in6_dump_addrs.patch
mlxsw-spectrum_router-fix-rollback-in-tunnel-next-hop-init.patch
net-tun-avoid-disabling-napi-twice.patch
+cifs-fix-minor-compile-warning.patch
+ drm-msm-dpu-increment-vsync_cnt-before-waking-up-use.patch
+ platform-x86-ideapad-laptop-add-allow_v4_dytc-module.patch
+ drm-i915-gem-add-missing-else.patch
+ drm-i915-dgfx-disable-d3cold-at-gfx-root-port.patch
+ drm-msm-gem-fix-error-return-on-fence-id-alloc-fail.patch
+ drivers-cpufreq-add-missing-of_node_put-in-qoriq-cpu.patch
+ platform-x86-panasonic-laptop-de-obfuscate-button-co.patch
+ platform-x86-panasonic-laptop-sort-includes-alphabet.patch
+ platform-x86-panasonic-laptop-revert-resolve-hotkey-.patch
+ platform-x86-panasonic-laptop-don-t-report-duplicate.patch
+ platform-x86-panasonic-laptop-filter-out-duplicate-v.patch
+ drm-fourcc-fix-integer-type-usage-in-uapi-header.patch
+ net-sparx5-add-handling-of-host-mdb-entries.patch
+ net-sparx5-mdb-add-del-handle-non-sparx5-devices.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch
--- /dev/null
- drivers/hwmon/ibmaem.c | 12 ++++++++----
+ From 1e945d4c866b5c3ae3efa46ab64813bac291e3d7 Mon Sep 17 00:00:00 2001
+ From: Sasha Levin <sashal@kernel.org>
+ Date: Fri, 1 Jul 2022 15:41:53 +0800
+ Subject: hwmon: (ibmaem) don't call platform_device_del() if
+ platform_device_add() fails
+
+ From: Yang Yingliang <yangyingliang@huawei.com>
+
+ [ Upstream commit d0e51022a025ca5350fafb8e413a6fe5d4baf833 ]
+
+ If platform_device_add() fails, it no need to call platform_device_del(), split
+ platform_device_unregister() into platform_device_del/put(), so platform_device_put()
+ can be called separately.
+
+ Fixes: 8808a793f052 ("ibmaem: new driver for power/energy/temp meters in IBM System X hardware")
+ Reported-by: Hulk Robot <hulkci@huawei.com>
+ Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
+ Link: https://lore.kernel.org/r/20220701074153.4021556-1-yangyingliang@huawei.com
+ Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+ Signed-off-by: Sasha Levin <sashal@kernel.org>
+ ---
-diff --git a/drivers/hwmon/ibmaem.c b/drivers/hwmon/ibmaem.c
-index d05ab713566d..00a4ffe01039 100644
++ drivers/hwmon/ibmaem.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
-@@ -550,7 +550,7 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
+ --- a/drivers/hwmon/ibmaem.c
+ +++ b/drivers/hwmon/ibmaem.c
-@@ -598,7 +598,9 @@ static int aem_init_aem1_inst(struct aem_ipmi_data *probe, u8 module_handle)
++@@ -550,7 +550,7 @@ static int aem_init_aem1_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
-@@ -690,7 +692,7 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -598,7 +598,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
-@@ -738,7 +740,9 @@ static int aem_init_aem2_inst(struct aem_ipmi_data *probe,
++@@ -690,7 +692,7 @@ static int aem_init_aem2_inst(struct aem
+
+ res = platform_device_add(data->pdev);
+ if (res)
+ - goto ipmi_err;
+ + goto dev_add_err;
+
+ platform_set_drvdata(data->pdev, data);
+
---
-2.35.1
-
++@@ -738,7 +740,9 @@ hwmon_reg_err:
+ ipmi_destroy_user(data->ipmi.user);
+ ipmi_err:
+ platform_set_drvdata(data->pdev, NULL);
+ - platform_device_unregister(data->pdev);
+ + platform_device_del(data->pdev);
+ +dev_add_err:
+ + platform_device_put(data->pdev);
+ dev_err:
+ ida_simple_remove(&aem_ida, data->id);
+ id_err:
nfc-nfcmrvl-fix-irq_of_parse_and_map-return-value.patch
nfc-nxp-nci-don-t-issue-a-zero-length-i2c_master_read.patch
net-tun-avoid-disabling-napi-twice.patch
+xen-gntdev-avoid-blocking-in-unmap_grant_pages.patch
+ hwmon-ibmaem-don-t-call-platform_device_del-if-platf.patch