diff --git a/patches.suse/ibmvnic-register-netdev-after-init-of-adapter.patch b/patches.suse/ibmvnic-register-netdev-after-init-of-adapter.patch new file mode 100644 index 0000000..1b484f0 --- /dev/null +++ b/patches.suse/ibmvnic-register-netdev-after-init-of-adapter.patch @@ -0,0 +1,56 @@ +From 570425f8c7c18b14fa8a2a58a0adb431968ad118 Mon Sep 17 00:00:00 2001 +From: Sukadev Bhattiprolu +Date: Thu, 24 Feb 2022 22:23:55 -0800 +Subject: [PATCH] ibmvnic: register netdev after init of adapter + +References: bsc#1196516 ltc#196391 +Patch-mainline: queued +Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git +Git-commit: 570425f8c7c18b14fa8a2a58a0adb431968ad118 + +Finish initializing the adapter before registering netdev so state +is consistent. + +Fixes: c26eba03e407 ("ibmvnic: Update reset infrastructure to support tunable parameters") +Signed-off-by: Sukadev Bhattiprolu +Signed-off-by: David S. Miller +Acked-by: Michal Suchanek +--- + drivers/net/ethernet/ibm/ibmvnic.c | 14 ++++++++------ + 1 file changed, 8 insertions(+), 6 deletions(-) + +diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c +index 5913d372bc27..a7b03ca109d8 100644 +--- a/drivers/net/ethernet/ibm/ibmvnic.c ++++ b/drivers/net/ethernet/ibm/ibmvnic.c +@@ -5826,12 +5826,6 @@ static int ibmvnic_probe(struct vio_dev *dev, const struct vio_device_id *id) + goto ibmvnic_dev_file_err; + + netif_carrier_off(netdev); +- rc = register_netdev(netdev); +- if (rc) { +- dev_err(&dev->dev, "failed to register netdev rc=%d\n", rc); +- goto ibmvnic_register_fail; +- } +- dev_info(&dev->dev, "ibmvnic registered\n"); + + if (init_success) { + adapter->state = VNIC_PROBED; +@@ -5844,6 +5838,14 @@ static int ibmvnic_probe(struct vio_dev *dev, const struct vio_device_id *id) + + adapter->wait_for_reset = false; + adapter->last_reset_time = jiffies; ++ ++ rc = register_netdev(netdev); ++ if (rc) { ++ dev_err(&dev->dev, "failed to register netdev rc=%d\n", rc); ++ goto ibmvnic_register_fail; ++ } ++ dev_info(&dev->dev, "ibmvnic registered\n"); ++ + return 0; + + ibmvnic_register_fail: +-- +2.34.1 + diff --git a/series.conf b/series.conf index 2272a70..219675c 100644 --- a/series.conf +++ b/series.conf @@ -8246,6 +8246,7 @@ patches.suse/ibmvnic-initialize-rc-before-completing-wait.patch patches.suse/ibmvnic-define-flush_reset_queue-helper.patch patches.suse/ibmvnic-complete-init_done-on-transport-events.patch + patches.suse/ibmvnic-register-netdev-after-init-of-adapter.patch # git://anongit.freedesktop.org/drm/drm-misc.git drm-misc-next patches.suse/0001-drm-ast-Enable-the-supporting-of-wide-screen-on-AST2.patch