Skip to content

Commit a0d60e6

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: 1) Fix leak in fsl/fman driver, from Dan Carpenter. 2) Call flow dissector initcall earlier than any networking driver can register and start to use it, from Eric Dumazet. 3) Some dup header fixes from Geliang Tang. 4) TIPC link monitoring compat fix from Jon Paul Maloy. 5) Link changes require EEE re-negotiation in bcm_sf2 driver, from Florian Fainelli. 6) Fix bogus handle ID passed into tfilter_notify_chain(), from Roman Mashak. 7) Fix dump size calculation in rtnl_calcit(), from Zhang Shengju. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (26 commits) tipc: resolve connection flow control compatibility problem mvpp2: use correct size for memset net/mlx5: drop duplicate header delay.h net: ieee802154: drop duplicate header delay.h ibmvnic: drop duplicate header seq_file.h fsl/fman: fix a leak in tgec_free() net: ethtool: don't require CAP_NET_ADMIN for ETHTOOL_GLINKSETTINGS tipc: improve sanity check for received domain records tipc: fix compatibility bug in link monitoring net: ethernet: mvneta: Remove IFF_UNICAST_FLT which is not implemented dwc_eth_qos: drop duplicate headers net sched filters: fix filter handle ID in tfilter_notify_chain() net: dsa: bcm_sf2: Ensure we re-negotiate EEE during after link change bnxt: do not busy-poll when link is down udplite: call proper backlog handlers ipv6: bump genid when the IFA_F_TENTATIVE flag is clear net/mlx4_en: Free netdev resources under state lock net: revert "net: l2tp: Treat NET_XMIT_CN as success in l2tp_eth_dev_xmit" rtnetlink: fix the wrong minimal dump size getting from rtnl_calcit() bnxt_en: Fix a VXLAN vs GENEVE issue ...
2 parents 30e2b7c + 6998cc6 commit a0d60e6

35 files changed

Lines changed: 101 additions & 60 deletions

File tree

drivers/net/dsa/bcm_sf2.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,7 @@ static void bcm_sf2_sw_adjust_link(struct dsa_switch *ds, int port,
588588
struct phy_device *phydev)
589589
{
590590
struct bcm_sf2_priv *priv = bcm_sf2_to_priv(ds);
591+
struct ethtool_eee *p = &priv->port_sts[port].eee;
591592
u32 id_mode_dis = 0, port_mode;
592593
const char *str = NULL;
593594
u32 reg;
@@ -662,6 +663,9 @@ static void bcm_sf2_sw_adjust_link(struct dsa_switch *ds, int port,
662663
reg |= DUPLX_MODE;
663664

664665
core_writel(priv, reg, CORE_STS_OVERRIDE_GMIIP_PORT(port));
666+
667+
if (!phydev->is_pseudo_fixed_link)
668+
p->eee_enabled = bcm_sf2_eee_init(ds, port, phydev);
665669
}
666670

667671
static void bcm_sf2_sw_fixed_link_update(struct dsa_switch *ds, int port,

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,6 +1811,9 @@ static int bnxt_busy_poll(struct napi_struct *napi)
18111811
if (atomic_read(&bp->intr_sem) != 0)
18121812
return LL_FLUSH_FAILED;
18131813

1814+
if (!bp->link_info.link_up)
1815+
return LL_FLUSH_FAILED;
1816+
18141817
if (!bnxt_lock_poll(bnapi))
18151818
return LL_FLUSH_BUSY;
18161819

@@ -3210,11 +3213,17 @@ static int bnxt_hwrm_tunnel_dst_port_alloc(struct bnxt *bp, __be16 port,
32103213
goto err_out;
32113214
}
32123215

3213-
if (tunnel_type & TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN)
3216+
switch (tunnel_type) {
3217+
case TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_VXLAN:
32143218
bp->vxlan_fw_dst_port_id = resp->tunnel_dst_port_id;
3215-
3216-
else if (tunnel_type & TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GENEVE)
3219+
break;
3220+
case TUNNEL_DST_PORT_ALLOC_REQ_TUNNEL_TYPE_GENEVE:
32173221
bp->nge_fw_dst_port_id = resp->tunnel_dst_port_id;
3222+
break;
3223+
default:
3224+
break;
3225+
}
3226+
32183227
err_out:
32193228
mutex_unlock(&bp->hwrm_cmd_lock);
32203229
return rc;

drivers/net/ethernet/freescale/fman/fman_tgec.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -722,9 +722,6 @@ int tgec_free(struct fman_mac *tgec)
722722
{
723723
free_init_resources(tgec);
724724

725-
if (tgec->cfg)
726-
tgec->cfg = NULL;
727-
728725
kfree(tgec->cfg);
729726
kfree(tgec);
730727

drivers/net/ethernet/ibm/ibmvnic.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
#include <asm/iommu.h>
7575
#include <linux/uaccess.h>
7676
#include <asm/firmware.h>
77-
#include <linux/seq_file.h>
7877
#include <linux/workqueue.h>
7978

8079
#include "ibmvnic.h"

drivers/net/ethernet/marvell/mvneta.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4151,7 +4151,7 @@ static int mvneta_probe(struct platform_device *pdev)
41514151
dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO;
41524152
dev->hw_features |= dev->features;
41534153
dev->vlan_features |= dev->features;
4154-
dev->priv_flags |= IFF_UNICAST_FLT | IFF_LIVE_ADDR_CHANGE;
4154+
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
41554155
dev->gso_max_segs = MVNETA_MAX_TSO_SEGS;
41564156

41574157
err = register_netdev(dev);

drivers/net/ethernet/marvell/mvpp2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3293,7 +3293,7 @@ static void mvpp2_cls_init(struct mvpp2 *priv)
32933293
mvpp2_write(priv, MVPP2_CLS_MODE_REG, MVPP2_CLS_MODE_ACTIVE_MASK);
32943294

32953295
/* Clear classifier flow table */
3296-
memset(&fe.data, 0, MVPP2_CLS_FLOWS_TBL_DATA_WORDS);
3296+
memset(&fe.data, 0, sizeof(fe.data));
32973297
for (index = 0; index < MVPP2_CLS_FLOWS_TBL_SIZE; index++) {
32983298
fe.index = index;
32993299
mvpp2_cls_flow_write(priv, &fe);

drivers/net/ethernet/mellanox/mlx4/en_netdev.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,9 @@ static enum mlx4_net_trans_rule_id mlx4_ip_proto_to_trans_rule_id(u8 ip_proto)
129129
}
130130
};
131131

132+
/* Must not acquire state_lock, as its corresponding work_sync
133+
* is done under it.
134+
*/
132135
static void mlx4_en_filter_work(struct work_struct *work)
133136
{
134137
struct mlx4_en_filter *filter = container_of(work,
@@ -2189,13 +2192,13 @@ void mlx4_en_destroy_netdev(struct net_device *dev)
21892192
mutex_lock(&mdev->state_lock);
21902193
mdev->pndev[priv->port] = NULL;
21912194
mdev->upper[priv->port] = NULL;
2192-
mutex_unlock(&mdev->state_lock);
21932195

21942196
#ifdef CONFIG_RFS_ACCEL
21952197
mlx4_en_cleanup_filters(priv);
21962198
#endif
21972199

21982200
mlx4_en_free_resources(priv);
2201+
mutex_unlock(&mdev->state_lock);
21992202

22002203
kfree(priv->tx_ring);
22012204
kfree(priv->tx_cq);

drivers/net/ethernet/mellanox/mlx5/core/main.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
#include <linux/mlx5/srq.h>
4747
#include <linux/debugfs.h>
4848
#include <linux/kmod.h>
49-
#include <linux/delay.h>
5049
#include <linux/mlx5/mlx5_ifc.h>
5150
#ifdef CONFIG_RFS_ACCEL
5251
#include <linux/cpu_rmap.h>

drivers/net/ethernet/synopsys/dwc_eth_qos.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#include <linux/stat.h>
3434
#include <linux/types.h>
3535

36-
#include <linux/types.h>
3736
#include <linux/slab.h>
3837
#include <linux/delay.h>
3938
#include <linux/mm.h>
@@ -43,7 +42,6 @@
4342

4443
#include <linux/phy.h>
4544
#include <linux/mii.h>
46-
#include <linux/delay.h>
4745
#include <linux/dma-mapping.h>
4846
#include <linux/vmalloc.h>
4947

drivers/net/ieee802154/adf7242.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
#include <linux/skbuff.h>
2121
#include <linux/of.h>
2222
#include <linux/irq.h>
23-
#include <linux/delay.h>
2423
#include <linux/debugfs.h>
2524
#include <linux/bitops.h>
2625
#include <linux/ieee802154.h>

0 commit comments

Comments
 (0)