Stable-dep-of: 6b17a597fc2f ("arcnet: restoring support for multiple Sohard Arcnet cards")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
- drivers/net/arcnet/arc-rimi.c | 4 +-
- drivers/net/arcnet/arcdevice.h | 6 +++
- drivers/net/arcnet/arcnet.c | 66 +++++++++++++++++++++++++++++--
- drivers/net/arcnet/com20020-isa.c | 4 +-
- drivers/net/arcnet/com20020-pci.c | 2 +-
- drivers/net/arcnet/com20020_cs.c | 2 +-
- drivers/net/arcnet/com90io.c | 4 +-
- drivers/net/arcnet/com90xx.c | 4 +-
+ drivers/net/arcnet/arc-rimi.c | 4 +-
+ drivers/net/arcnet/arcdevice.h | 6 +++
+ drivers/net/arcnet/arcnet.c | 66 +++++++++++++++++++++++++++++++++++---
+ drivers/net/arcnet/com20020-isa.c | 4 +-
+ drivers/net/arcnet/com20020-pci.c | 2 -
+ drivers/net/arcnet/com20020_cs.c | 2 -
+ drivers/net/arcnet/com90io.c | 4 +-
+ drivers/net/arcnet/com90xx.c | 4 +-
8 files changed, 78 insertions(+), 14 deletions(-)
-diff --git a/drivers/net/arcnet/arc-rimi.c b/drivers/net/arcnet/arc-rimi.c
-index a07e24970be42..3d0ce6d46a24e 100644
--- a/drivers/net/arcnet/arc-rimi.c
+++ b/drivers/net/arcnet/arc-rimi.c
@@ -332,7 +332,7 @@ static int __init arc_rimi_init(void)
}
#ifndef MODULE
-diff --git a/drivers/net/arcnet/arcdevice.h b/drivers/net/arcnet/arcdevice.h
-index d09b2b46ab63c..1ad5e4a03d23e 100644
--- a/drivers/net/arcnet/arcdevice.h
+++ b/drivers/net/arcnet/arcdevice.h
@@ -303,6 +303,10 @@ struct arcnet_local {
struct {
uint16_t sequence; /* sequence number (incs with each packet) */
__be16 aborted_seq;
-@@ -355,7 +359,9 @@ void arcnet_dump_skb(struct net_device *dev, struct sk_buff *skb, char *desc)
+@@ -355,7 +359,9 @@ void arcnet_dump_skb(struct net_device *
void arcnet_unregister_proto(struct ArcProto *proto);
irqreturn_t arcnet_interrupt(int irq, void *dev_id);
int arcnet_open(struct net_device *dev);
int arcnet_close(struct net_device *dev);
-diff --git a/drivers/net/arcnet/arcnet.c b/drivers/net/arcnet/arcnet.c
-index 2b112d3d85409..cf652c76af85e 100644
--- a/drivers/net/arcnet/arcnet.c
+++ b/drivers/net/arcnet/arcnet.c
-@@ -387,10 +387,44 @@ static void arcnet_timer(struct timer_list *t)
+@@ -387,10 +387,44 @@ static void arcnet_timer(struct timer_li
struct arcnet_local *lp = from_timer(lp, t, timer);
struct net_device *dev = lp->dev;
+ goto out;
+
+ dev_close(dev);
-+ dev_open(dev, NULL);
++ dev_open(dev);
+
+out:
+ rtnl_unlock();
}
static void arcnet_reply_tasklet(unsigned long data)
-@@ -452,12 +486,25 @@ struct net_device *alloc_arcdev(const char *name)
+@@ -452,12 +486,25 @@ struct net_device *alloc_arcdev(const ch
lp->dev = dev;
spin_lock_init(&lp->lock);
timer_setup(&lp->timer, arcnet_timer, 0);
module_put(lp->hw.owner);
return 0;
}
-@@ -820,6 +871,9 @@ irqreturn_t arcnet_interrupt(int irq, void *dev_id)
+@@ -820,6 +871,9 @@ irqreturn_t arcnet_interrupt(int irq, vo
spin_lock_irqsave(&lp->lock, flags);
/* RESET flag was enabled - if device is not running, we must
* clear it right away (but nothing else).
*/
-@@ -852,11 +906,14 @@ irqreturn_t arcnet_interrupt(int irq, void *dev_id)
+@@ -852,11 +906,14 @@ irqreturn_t arcnet_interrupt(int irq, vo
if (status & RESETflag) {
arc_printk(D_NORMAL, dev, "spurious reset (status=%Xh)\n",
status);
}
/* RX is inhibited - we must have received something.
* Prepare to receive into the next buffer.
-@@ -1052,6 +1109,7 @@ irqreturn_t arcnet_interrupt(int irq, void *dev_id)
+@@ -1052,6 +1109,7 @@ irqreturn_t arcnet_interrupt(int irq, vo
udelay(1);
lp->hw.intmask(dev, lp->intmask);
spin_unlock_irqrestore(&lp->lock, flags);
return retval;
}
-diff --git a/drivers/net/arcnet/com20020-isa.c b/drivers/net/arcnet/com20020-isa.c
-index 38fa60ddaf2ea..fada3f23970ee 100644
--- a/drivers/net/arcnet/com20020-isa.c
+++ b/drivers/net/arcnet/com20020-isa.c
@@ -169,7 +169,7 @@ static int __init com20020_init(void)
}
#ifndef MODULE
-diff --git a/drivers/net/arcnet/com20020-pci.c b/drivers/net/arcnet/com20020-pci.c
-index 9f44e2e458df1..b4f8798d8c509 100644
--- a/drivers/net/arcnet/com20020-pci.c
+++ b/drivers/net/arcnet/com20020-pci.c
-@@ -294,7 +294,7 @@ static void com20020pci_remove(struct pci_dev *pdev)
+@@ -294,7 +294,7 @@ static void com20020pci_remove(struct pc
unregister_netdev(dev);
free_irq(dev->irq, dev);
}
}
-diff --git a/drivers/net/arcnet/com20020_cs.c b/drivers/net/arcnet/com20020_cs.c
-index cf607ffcf358e..9cc5eb6a8e905 100644
--- a/drivers/net/arcnet/com20020_cs.c
+++ b/drivers/net/arcnet/com20020_cs.c
-@@ -177,7 +177,7 @@ static void com20020_detach(struct pcmcia_device *link)
+@@ -177,7 +177,7 @@ static void com20020_detach(struct pcmci
dev = info->dev;
if (dev) {
dev_dbg(&link->dev, "kfree...\n");
}
dev_dbg(&link->dev, "kfree2...\n");
kfree(info);
-diff --git a/drivers/net/arcnet/com90io.c b/drivers/net/arcnet/com90io.c
-index 4e56aaf2b9843..e9fc0577ddc0b 100644
--- a/drivers/net/arcnet/com90io.c
+++ b/drivers/net/arcnet/com90io.c
@@ -394,7 +394,7 @@ static int __init com90io_init(void)
}
module_init(com90io_init)
-diff --git a/drivers/net/arcnet/com90xx.c b/drivers/net/arcnet/com90xx.c
-index ca4a57c30bf89..5e38a2d6623cc 100644
--- a/drivers/net/arcnet/com90xx.c
+++ b/drivers/net/arcnet/com90xx.c
-@@ -554,7 +554,7 @@ static int __init com90xx_found(int ioaddr, int airq, u_long shmem,
+@@ -554,7 +554,7 @@ err_free_irq:
err_release_mem:
release_mem_region(dev->mem_start, dev->mem_end - dev->mem_start + 1);
err_free_dev:
}
}
---
-2.42.0
-
+++ /dev/null
-From 74d905dd1c4b5ea5b425d11109b3cbb3c587200a Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 6 Dec 2018 17:05:36 +0000
-Subject: net: core: dev: Add extack argument to dev_open()
-
-From: Petr Machata <petrm@mellanox.com>
-
-[ Upstream commit 00f54e68924eaf075f3f24be18557899d347bc4a ]
-
-In order to pass extack together with NETDEV_PRE_UP notifications, it's
-necessary to route the extack to __dev_open() from diverse (possibly
-indirect) callers. One prominent API through which the notification is
-invoked is dev_open().
-
-Therefore extend dev_open() with and extra extack argument and update
-all users. Most of the calls end up just encoding NULL, but bond and
-team drivers have the extack readily available.
-
-Signed-off-by: Petr Machata <petrm@mellanox.com>
-Acked-by: Jiri Pirko <jiri@mellanox.com>
-Reviewed-by: Ido Schimmel <idosch@mellanox.com>
-Reviewed-by: David Ahern <dsahern@gmail.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
-Stable-dep-of: 6b17a597fc2f ("arcnet: restoring support for multiple Sohard Arcnet cards")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/bonding/bond_main.c | 2 +-
- drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c | 2 +-
- drivers/net/ethernet/cisco/enic/enic_ethtool.c | 2 +-
- drivers/net/ethernet/hisilicon/hns/hns_ethtool.c | 2 +-
- drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 2 +-
- drivers/net/ethernet/sfc/ethtool.c | 2 +-
- drivers/net/ethernet/sfc/falcon/ethtool.c | 2 +-
- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
- drivers/net/hyperv/netvsc_drv.c | 4 ++--
- drivers/net/net_failover.c | 8 ++++----
- drivers/net/team/team.c | 2 +-
- drivers/net/wireless/intersil/hostap/hostap_main.c | 2 +-
- drivers/s390/net/qeth_l2_main.c | 2 +-
- drivers/s390/net/qeth_l3_main.c | 2 +-
- drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 2 +-
- drivers/staging/unisys/visornic/visornic_main.c | 2 +-
- include/linux/netdevice.h | 2 +-
- net/bluetooth/6lowpan.c | 2 +-
- net/core/dev.c | 5 +++--
- net/core/netpoll.c | 2 +-
- net/ipv4/ipmr.c | 4 ++--
- net/ipv6/addrconf.c | 2 +-
- net/ipv6/ip6mr.c | 2 +-
- 23 files changed, 30 insertions(+), 29 deletions(-)
-
-diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
-index 79b36f1c50aec..198e33893f9b2 100644
---- a/drivers/net/bonding/bond_main.c
-+++ b/drivers/net/bonding/bond_main.c
-@@ -1563,7 +1563,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
- slave_dev->flags |= IFF_SLAVE;
-
- /* open the slave since the application closed it */
-- res = dev_open(slave_dev);
-+ res = dev_open(slave_dev, extack);
- if (res) {
- netdev_dbg(bond_dev, "Opening slave %s failed\n", slave_dev->name);
- goto err_restore_mac;
-diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c b/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
-index 08c9fa6ca71f2..f7ee481560c6d 100644
---- a/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
-+++ b/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c
-@@ -390,7 +390,7 @@ static int aq_set_ringparam(struct net_device *ndev,
- }
- }
- if (ndev_running)
-- err = dev_open(ndev);
-+ err = dev_open(ndev, NULL);
-
- err_exit:
- return err;
-diff --git a/drivers/net/ethernet/cisco/enic/enic_ethtool.c b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
-index f42f7a6e15591..ebd5c2cf1efec 100644
---- a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
-+++ b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
-@@ -241,7 +241,7 @@ static int enic_set_ringparam(struct net_device *netdev,
- }
- enic_init_vnic_resources(enic);
- if (running) {
-- err = dev_open(netdev);
-+ err = dev_open(netdev, NULL);
- if (err)
- goto err_out;
- }
-diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
-index f453cebf758c6..3784db7b3a0df 100644
---- a/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
-+++ b/drivers/net/ethernet/hisilicon/hns/hns_ethtool.c
-@@ -632,7 +632,7 @@ static void hns_nic_self_test(struct net_device *ndev,
- clear_bit(NIC_STATE_TESTING, &priv->state);
-
- if (if_running)
-- (void)dev_open(ndev);
-+ (void)dev_open(ndev, NULL);
- }
- /* Online tests aren't run; pass by default */
-
-diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
-index 1cb6f95f3a946..cc807d4773815 100644
---- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
-+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
-@@ -770,7 +770,7 @@ static int hns3_set_ringparam(struct net_device *ndev,
- }
-
- if (if_running)
-- ret = dev_open(ndev);
-+ ret = dev_open(ndev, NULL);
-
- return ret;
- }
-diff --git a/drivers/net/ethernet/sfc/ethtool.c b/drivers/net/ethernet/sfc/ethtool.c
-index 82b32c742d69e..033aa6e1cefa2 100644
---- a/drivers/net/ethernet/sfc/ethtool.c
-+++ b/drivers/net/ethernet/sfc/ethtool.c
-@@ -533,7 +533,7 @@ static void efx_ethtool_self_test(struct net_device *net_dev,
- /* We need rx buffers and interrupts. */
- already_up = (efx->net_dev->flags & IFF_UP);
- if (!already_up) {
-- rc = dev_open(efx->net_dev);
-+ rc = dev_open(efx->net_dev, NULL);
- if (rc) {
- netif_err(efx, drv, efx->net_dev,
- "failed opening device.\n");
-diff --git a/drivers/net/ethernet/sfc/falcon/ethtool.c b/drivers/net/ethernet/sfc/falcon/ethtool.c
-index 1ccdb7a82e2a7..72cedec945c18 100644
---- a/drivers/net/ethernet/sfc/falcon/ethtool.c
-+++ b/drivers/net/ethernet/sfc/falcon/ethtool.c
-@@ -517,7 +517,7 @@ static void ef4_ethtool_self_test(struct net_device *net_dev,
- /* We need rx buffers and interrupts. */
- already_up = (efx->net_dev->flags & IFF_UP);
- if (!already_up) {
-- rc = dev_open(efx->net_dev);
-+ rc = dev_open(efx->net_dev, NULL);
- if (rc) {
- netif_err(efx, drv, efx->net_dev,
- "failed opening device.\n");
-diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-index 3e35cdf0d2b76..c4ef495833a6c 100644
---- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
-@@ -4149,7 +4149,7 @@ static void stmmac_reset_subtask(struct stmmac_priv *priv)
-
- set_bit(STMMAC_DOWN, &priv->state);
- dev_close(priv->dev);
-- dev_open(priv->dev);
-+ dev_open(priv->dev, NULL);
- clear_bit(STMMAC_DOWN, &priv->state);
- clear_bit(STMMAC_RESETING, &priv->state);
- rtnl_unlock();
-diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
-index ce17917b6f76f..af5d82e6ba22c 100644
---- a/drivers/net/hyperv/netvsc_drv.c
-+++ b/drivers/net/hyperv/netvsc_drv.c
-@@ -146,7 +146,7 @@ static int netvsc_open(struct net_device *net)
- * slave as up. If open fails, then slave will be
- * still be offline (and not used).
- */
-- ret = dev_open(vf_netdev);
-+ ret = dev_open(vf_netdev, NULL);
- if (ret)
- netdev_warn(net,
- "unable to open slave: %s: %d\n",
-@@ -2082,7 +2082,7 @@ static void __netvsc_vf_setup(struct net_device *ndev,
- netif_addr_unlock_bh(ndev);
-
- if (netif_running(ndev)) {
-- ret = dev_open(vf_netdev);
-+ ret = dev_open(vf_netdev, NULL);
- if (ret)
- netdev_warn(vf_netdev,
- "unable to open: %d\n", ret);
-diff --git a/drivers/net/net_failover.c b/drivers/net/net_failover.c
-index 57273188b71e5..5973ee49dc785 100644
---- a/drivers/net/net_failover.c
-+++ b/drivers/net/net_failover.c
-@@ -41,14 +41,14 @@ static int net_failover_open(struct net_device *dev)
-
- primary_dev = rtnl_dereference(nfo_info->primary_dev);
- if (primary_dev) {
-- err = dev_open(primary_dev);
-+ err = dev_open(primary_dev, NULL);
- if (err)
- goto err_primary_open;
- }
-
- standby_dev = rtnl_dereference(nfo_info->standby_dev);
- if (standby_dev) {
-- err = dev_open(standby_dev);
-+ err = dev_open(standby_dev, NULL);
- if (err)
- goto err_standby_open;
- }
-@@ -519,7 +519,7 @@ static int net_failover_slave_register(struct net_device *slave_dev,
- dev_hold(slave_dev);
-
- if (netif_running(failover_dev)) {
-- err = dev_open(slave_dev);
-+ err = dev_open(slave_dev, NULL);
- if (err && (err != -EBUSY)) {
- netdev_err(failover_dev, "Opening slave %s failed err:%d\n",
- slave_dev->name, err);
-@@ -682,7 +682,7 @@ static int net_failover_slave_name_change(struct net_device *slave_dev,
- /* We need to bring up the slave after the rename by udev in case
- * open failed with EBUSY when it was registered.
- */
-- dev_open(slave_dev);
-+ dev_open(slave_dev, NULL);
-
- return 0;
- }
-diff --git a/drivers/net/team/team.c b/drivers/net/team/team.c
-index 08f9530fd5b15..9e17b2022ee4e 100644
---- a/drivers/net/team/team.c
-+++ b/drivers/net/team/team.c
-@@ -1217,7 +1217,7 @@ static int team_port_add(struct team *team, struct net_device *port_dev,
- goto err_port_enter;
- }
-
-- err = dev_open(port_dev);
-+ err = dev_open(port_dev, extack);
- if (err) {
- netdev_dbg(dev, "Device %s opening failed\n",
- portname);
-diff --git a/drivers/net/wireless/intersil/hostap/hostap_main.c b/drivers/net/wireless/intersil/hostap/hostap_main.c
-index 012930d354344..b0e7c0a0617e4 100644
---- a/drivers/net/wireless/intersil/hostap/hostap_main.c
-+++ b/drivers/net/wireless/intersil/hostap/hostap_main.c
-@@ -690,7 +690,7 @@ static int prism2_open(struct net_device *dev)
- /* Master radio interface is needed for all operation, so open
- * it automatically when any virtual net_device is opened. */
- local->master_dev_auto_open = 1;
-- dev_open(local->dev);
-+ dev_open(local->dev, NULL);
- }
-
- netif_device_attach(dev);
-diff --git a/drivers/s390/net/qeth_l2_main.c b/drivers/s390/net/qeth_l2_main.c
-index 8d30f9ac3e9d5..1663e4b23dd79 100644
---- a/drivers/s390/net/qeth_l2_main.c
-+++ b/drivers/s390/net/qeth_l2_main.c
-@@ -1050,7 +1050,7 @@ static int __qeth_l2_set_online(struct ccwgroup_device *gdev, int recovery_mode)
- qeth_l2_set_rx_mode(card->dev);
- } else {
- rtnl_lock();
-- dev_open(card->dev);
-+ dev_open(card->dev, NULL);
- rtnl_unlock();
- }
- }
-diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c
-index 52e0ae4dc7241..f21ff257c8999 100644
---- a/drivers/s390/net/qeth_l3_main.c
-+++ b/drivers/s390/net/qeth_l3_main.c
-@@ -2699,7 +2699,7 @@ static int __qeth_l3_set_online(struct ccwgroup_device *gdev, int recovery_mode)
- __qeth_l3_open(card->dev);
- qeth_l3_set_rx_mode(card->dev);
- } else {
-- dev_open(card->dev);
-+ dev_open(card->dev, NULL);
- }
- rtnl_unlock();
- }
-diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c
-index 8549e809363e4..917d5b165f8c2 100644
---- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c
-+++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c
-@@ -1126,7 +1126,7 @@ static int ethsw_open(struct ethsw_core *ethsw)
-
- for (i = 0; i < ethsw->sw_attr.num_ifs; i++) {
- port_priv = ethsw->ports[i];
-- err = dev_open(port_priv->netdev);
-+ err = dev_open(port_priv->netdev, NULL);
- if (err) {
- netdev_err(port_priv->netdev, "dev_open err %d\n", err);
- return err;
-diff --git a/drivers/staging/unisys/visornic/visornic_main.c b/drivers/staging/unisys/visornic/visornic_main.c
-index 3647b8f1ed286..5eeb4b93b45bc 100644
---- a/drivers/staging/unisys/visornic/visornic_main.c
-+++ b/drivers/staging/unisys/visornic/visornic_main.c
-@@ -2095,7 +2095,7 @@ static int visornic_resume(struct visor_device *dev,
- mod_timer(&devdata->irq_poll_timer, msecs_to_jiffies(2));
-
- rtnl_lock();
-- dev_open(netdev);
-+ dev_open(netdev, NULL);
- rtnl_unlock();
-
- complete_func(dev, 0);
-diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index ac87fcc4d44b4..fa37b2eab50a2 100644
---- a/include/linux/netdevice.h
-+++ b/include/linux/netdevice.h
-@@ -2602,7 +2602,7 @@ struct net_device *dev_get_by_name(struct net *net, const char *name);
- struct net_device *dev_get_by_name_rcu(struct net *net, const char *name);
- struct net_device *__dev_get_by_name(struct net *net, const char *name);
- int dev_alloc_name(struct net_device *dev, const char *name);
--int dev_open(struct net_device *dev);
-+int dev_open(struct net_device *dev, struct netlink_ext_ack *extack);
- void dev_close(struct net_device *dev);
- void dev_close_many(struct list_head *head, bool unlink);
- void dev_disable_lro(struct net_device *dev);
-diff --git a/net/bluetooth/6lowpan.c b/net/bluetooth/6lowpan.c
-index 4530ffb2481a4..c6d1b27fa391c 100644
---- a/net/bluetooth/6lowpan.c
-+++ b/net/bluetooth/6lowpan.c
-@@ -614,7 +614,7 @@ static void ifup(struct net_device *netdev)
- int err;
-
- rtnl_lock();
-- err = dev_open(netdev);
-+ err = dev_open(netdev, NULL);
- if (err < 0)
- BT_INFO("iface %s cannot be opened (%d)", netdev->name, err);
- rtnl_unlock();
-diff --git a/net/core/dev.c b/net/core/dev.c
-index 0f9214fb36e01..63d5ec728c8e6 100644
---- a/net/core/dev.c
-+++ b/net/core/dev.c
-@@ -1417,7 +1417,8 @@ static int __dev_open(struct net_device *dev)
-
- /**
- * dev_open - prepare an interface for use.
-- * @dev: device to open
-+ * @dev: device to open
-+ * @extack: netlink extended ack
- *
- * Takes a device from down to up state. The device's private open
- * function is invoked and then the multicast lists are loaded. Finally
-@@ -1427,7 +1428,7 @@ static int __dev_open(struct net_device *dev)
- * Calling this function on an active interface is a nop. On a failure
- * a negative errno code is returned.
- */
--int dev_open(struct net_device *dev)
-+int dev_open(struct net_device *dev, struct netlink_ext_ack *extack)
- {
- int ret;
-
-diff --git a/net/core/netpoll.c b/net/core/netpoll.c
-index 08f0da9e6a809..3808955c87355 100644
---- a/net/core/netpoll.c
-+++ b/net/core/netpoll.c
-@@ -696,7 +696,7 @@ int netpoll_setup(struct netpoll *np)
-
- np_info(np, "device %s not up yet, forcing it\n", np->dev_name);
-
-- err = dev_open(ndev);
-+ err = dev_open(ndev, NULL);
-
- if (err) {
- np_err(np, "failed to open %s\n", ndev->name);
-diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c
-index 2085af224a416..9aeb4d97f514c 100644
---- a/net/ipv4/ipmr.c
-+++ b/net/ipv4/ipmr.c
-@@ -510,7 +510,7 @@ static struct net_device *ipmr_new_tunnel(struct net *net, struct vifctl *v)
- dev->flags |= IFF_MULTICAST;
- if (!ipmr_init_vif_indev(dev))
- goto failure;
-- if (dev_open(dev))
-+ if (dev_open(dev, NULL))
- goto failure;
- dev_hold(dev);
- }
-@@ -593,7 +593,7 @@ static struct net_device *ipmr_reg_vif(struct net *net, struct mr_table *mrt)
-
- if (!ipmr_init_vif_indev(dev))
- goto failure;
-- if (dev_open(dev))
-+ if (dev_open(dev, NULL))
- goto failure;
-
- dev_hold(dev);
-diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
-index 5ffa8777ab098..6e2de18d65df4 100644
---- a/net/ipv6/addrconf.c
-+++ b/net/ipv6/addrconf.c
-@@ -2823,7 +2823,7 @@ int addrconf_set_dstaddr(struct net *net, void __user *arg)
- dev = __dev_get_by_name(net, p.name);
- if (!dev)
- goto err_exit;
-- err = dev_open(dev);
-+ err = dev_open(dev, NULL);
- }
- }
- #endif
-diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c
-index 329bad6cbb768..36d8b763b26f9 100644
---- a/net/ipv6/ip6mr.c
-+++ b/net/ipv6/ip6mr.c
-@@ -658,7 +658,7 @@ static struct net_device *ip6mr_reg_vif(struct net *net, struct mr_table *mrt)
- return NULL;
- }
-
-- if (dev_open(dev))
-+ if (dev_open(dev, NULL))
- goto failure;
-
- dev_hold(dev);
---
-2.42.0
-