Skip to content

Commit 184ca82

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller: 1) Buffers powersave frame test is reversed in cfg80211, fix from Felix Fietkau. 2) Remove bogus WARN_ON in openvswitch, from Jarno Rajahalme. 3) Fix some tg3 ethtool logic bugs, and one that would cause no interrupts to be generated when rx-coalescing is set to 0. From Satish Baddipadige and Siva Reddy Kallam. 4) QLCNIC mailbox corruption and napi budget handling fix from Manish Chopra. 5) Fix fib_trie logic when walking the trie during /proc/net/route output than can access a stale node pointer. From David Forster. 6) Several sctp_diag fixes from Phil Sutter. 7) PAUSE frame handling fixes in mlxsw driver from Ido Schimmel. 8) Checksum fixup fixes in bpf from Daniel Borkmann. 9) Memork leaks in nfnetlink, from Liping Zhang. 10) Use after free in rxrpc, from David Howells. 11) Use after free in new skb_array code of macvtap driver, from Jason Wang. 12) Calipso resource leak, from Colin Ian King. 13) mediatek bug fixes (missing stats sync init, etc.) from Sean Wang. 14) Fix bpf non-linear packet write helpers, from Daniel Borkmann. 15) Fix lockdep splats in macsec, from Sabrina Dubroca. 16) hv_netvsc bug fixes from Vitaly Kuznetsov, mostly to do with VF handling. 17) Various tc-action bug fixes, from CONG Wang. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (116 commits) net_sched: allow flushing tc police actions net_sched: unify the init logic for act_police net_sched: convert tcf_exts from list to pointer array net_sched: move tc offload macros to pkt_cls.h net_sched: fix a typo in tc_for_each_action() net_sched: remove an unnecessary list_del() net_sched: remove the leftover cleanup_a() mlxsw: spectrum: Allow packets to be trapped from any PG mlxsw: spectrum: Unmap 802.1Q FID before destroying it mlxsw: spectrum: Add missing rollbacks in error path mlxsw: reg: Fix missing op field fill-up mlxsw: spectrum: Trap loop-backed packets mlxsw: spectrum: Add missing packet traps mlxsw: spectrum: Mark port as active before registering it mlxsw: spectrum: Create PVID vPort before registering netdevice mlxsw: spectrum: Remove redundant errors from the code mlxsw: spectrum: Don't return upon error in removal path i40e: check for and deal with non-contiguous TCs ixgbe: Re-enable ability to toggle VLAN filtering ixgbe: Force VLNCTRL.VFE to be set in all VMDq paths ...
2 parents 5ff132c + b96c22c commit 184ca82

File tree

116 files changed

+1486
-1109
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1486
-1109
lines changed

Documentation/networking/rxrpc.txt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -790,13 +790,12 @@ The kernel interface functions are as follows:
790790
Data messages can have their contents extracted with the usual bunch of
791791
socket buffer manipulation functions. A data message can be determined to
792792
be the last one in a sequence with rxrpc_kernel_is_data_last(). When a
793-
data message has been used up, rxrpc_kernel_data_delivered() should be
794-
called on it..
793+
data message has been used up, rxrpc_kernel_data_consumed() should be
794+
called on it.
795795

796-
Non-data messages should be handled to rxrpc_kernel_free_skb() to dispose
797-
of. It is possible to get extra refs on all types of message for later
798-
freeing, but this may pin the state of a call until the message is finally
799-
freed.
796+
Messages should be handled to rxrpc_kernel_free_skb() to dispose of. It
797+
is possible to get extra refs on all types of message for later freeing,
798+
but this may pin the state of a call until the message is finally freed.
800799

801800
(*) Accept an incoming call.
802801

@@ -821,12 +820,14 @@ The kernel interface functions are as follows:
821820
Other errors may be returned if the call had been aborted (-ECONNABORTED)
822821
or had timed out (-ETIME).
823822

824-
(*) Record the delivery of a data message and free it.
823+
(*) Record the delivery of a data message.
825824

826-
void rxrpc_kernel_data_delivered(struct sk_buff *skb);
825+
void rxrpc_kernel_data_consumed(struct rxrpc_call *call,
826+
struct sk_buff *skb);
827827

828-
This is used to record a data message as having been delivered and to
829-
update the ACK state for the call. The socket buffer will be freed.
828+
This is used to record a data message as having been consumed and to
829+
update the ACK state for the call. The message must still be passed to
830+
rxrpc_kernel_free_skb() for disposal by the caller.
830831

831832
(*) Free a message.
832833

drivers/net/bonding/bond_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ module_param(lacp_rate, charp, 0);
152152
MODULE_PARM_DESC(lacp_rate, "LACPDU tx rate to request from 802.3ad partner; "
153153
"0 for slow, 1 for fast");
154154
module_param(ad_select, charp, 0);
155-
MODULE_PARM_DESC(ad_select, "803.ad aggregation selection logic; "
155+
MODULE_PARM_DESC(ad_select, "802.3ad aggregation selection logic; "
156156
"0 for stable (default), 1 for bandwidth, "
157157
"2 for count");
158158
module_param(min_links, int, 0);

drivers/net/dsa/b53/b53_regs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@
258258
* BCM5325 and BCM5365 share most definitions below
259259
*/
260260
#define B53_ARLTBL_MAC_VID_ENTRY(n) (0x10 * (n))
261-
#define ARLTBL_MAC_MASK 0xffffffffffff
261+
#define ARLTBL_MAC_MASK 0xffffffffffffULL
262262
#define ARLTBL_VID_S 48
263263
#define ARLTBL_VID_MASK_25 0xff
264264
#define ARLTBL_VID_MASK 0xfff

drivers/net/dsa/mv88e6xxx/chip.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3187,6 +3187,7 @@ static int mv88e6xxx_set_addr(struct dsa_switch *ds, u8 *addr)
31873187
return err;
31883188
}
31893189

3190+
#ifdef CONFIG_NET_DSA_HWMON
31903191
static int mv88e6xxx_mdio_page_read(struct dsa_switch *ds, int port, int page,
31913192
int reg)
31923193
{
@@ -3212,6 +3213,7 @@ static int mv88e6xxx_mdio_page_write(struct dsa_switch *ds, int port, int page,
32123213

32133214
return ret;
32143215
}
3216+
#endif
32153217

32163218
static int mv88e6xxx_port_to_mdio_addr(struct mv88e6xxx_chip *chip, int port)
32173219
{

drivers/net/ethernet/apm/xgene/xgene_enet_hw.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -793,6 +793,8 @@ int xgene_enet_phy_connect(struct net_device *ndev)
793793
netdev_err(ndev, "Could not connect to PHY\n");
794794
return -ENODEV;
795795
}
796+
#else
797+
return -ENODEV;
796798
#endif
797799
}
798800

drivers/net/ethernet/arc/emac_main.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -771,8 +771,10 @@ int arc_emac_probe(struct net_device *ndev, int interface)
771771
priv->dev = dev;
772772

773773
priv->regs = devm_ioremap_resource(dev, &res_regs);
774-
if (IS_ERR(priv->regs))
775-
return PTR_ERR(priv->regs);
774+
if (IS_ERR(priv->regs)) {
775+
err = PTR_ERR(priv->regs);
776+
goto out_put_node;
777+
}
776778

777779
dev_dbg(dev, "Registers base address is 0x%p\n", priv->regs);
778780

drivers/net/ethernet/broadcom/tg3.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12552,10 +12552,6 @@ static int tg3_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info,
1255212552
info->data = TG3_RSS_MAX_NUM_QS;
1255312553
}
1255412554

12555-
/* The first interrupt vector only
12556-
* handles link interrupts.
12557-
*/
12558-
info->data -= 1;
1255912555
return 0;
1256012556

1256112557
default:
@@ -14014,6 +14010,7 @@ static int tg3_set_coalesce(struct net_device *dev, struct ethtool_coalesce *ec)
1401414010
}
1401514011

1401614012
if ((ec->rx_coalesce_usecs > MAX_RXCOL_TICKS) ||
14013+
(!ec->rx_coalesce_usecs) ||
1401714014
(ec->tx_coalesce_usecs > MAX_TXCOL_TICKS) ||
1401814015
(ec->rx_max_coalesced_frames > MAX_RXMAX_FRAMES) ||
1401914016
(ec->tx_max_coalesced_frames > MAX_TXMAX_FRAMES) ||

drivers/net/ethernet/cadence/macb.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,11 +403,11 @@
403403
#define MACB_CAPS_USRIO_DEFAULT_IS_MII_GMII 0x00000004
404404
#define MACB_CAPS_NO_GIGABIT_HALF 0x00000008
405405
#define MACB_CAPS_USRIO_DISABLED 0x00000010
406+
#define MACB_CAPS_JUMBO 0x00000020
406407
#define MACB_CAPS_FIFO_MODE 0x10000000
407408
#define MACB_CAPS_GIGABIT_MODE_AVAILABLE 0x20000000
408409
#define MACB_CAPS_SG_DISABLED 0x40000000
409410
#define MACB_CAPS_MACB_IS_GEM 0x80000000
410-
#define MACB_CAPS_JUMBO 0x00000010
411411

412412
/* Bit manipulation macros */
413413
#define MACB_BIT(name) \

drivers/net/ethernet/davicom/dm9000.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,25 +1299,27 @@ static int
12991299
dm9000_open(struct net_device *dev)
13001300
{
13011301
struct board_info *db = netdev_priv(dev);
1302+
unsigned int irq_flags = irq_get_trigger_type(dev->irq);
13021303

13031304
if (netif_msg_ifup(db))
13041305
dev_dbg(db->dev, "enabling %s\n", dev->name);
13051306

13061307
/* If there is no IRQ type specified, tell the user that this is a
13071308
* problem
13081309
*/
1309-
if (irq_get_trigger_type(dev->irq) == IRQF_TRIGGER_NONE)
1310+
if (irq_flags == IRQF_TRIGGER_NONE)
13101311
dev_warn(db->dev, "WARNING: no IRQ resource flags set.\n");
13111312

1313+
irq_flags |= IRQF_SHARED;
1314+
13121315
/* GPIO0 on pre-activate PHY, Reg 1F is not set by reset */
13131316
iow(db, DM9000_GPR, 0); /* REG_1F bit0 activate phyxcer */
13141317
mdelay(1); /* delay needs by DM9000B */
13151318

13161319
/* Initialize DM9000 board */
13171320
dm9000_init_dm9000(dev);
13181321

1319-
if (request_irq(dev->irq, dm9000_interrupt, IRQF_SHARED,
1320-
dev->name, dev))
1322+
if (request_irq(dev->irq, dm9000_interrupt, irq_flags, dev->name, dev))
13211323
return -EAGAIN;
13221324
/* Now that we have an interrupt handler hooked up we can unmask
13231325
* our interrupts

drivers/net/ethernet/hisilicon/hns/hns_dsaf_gmac.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ static const struct mac_stats_string g_gmac_stats_string[] = {
1717
{"gmac_rx_octets_total_ok", MAC_STATS_FIELD_OFF(rx_good_bytes)},
1818
{"gmac_rx_octets_bad", MAC_STATS_FIELD_OFF(rx_bad_bytes)},
1919
{"gmac_rx_uc_pkts", MAC_STATS_FIELD_OFF(rx_uc_pkts)},
20-
{"gamc_rx_mc_pkts", MAC_STATS_FIELD_OFF(rx_mc_pkts)},
20+
{"gmac_rx_mc_pkts", MAC_STATS_FIELD_OFF(rx_mc_pkts)},
2121
{"gmac_rx_bc_pkts", MAC_STATS_FIELD_OFF(rx_bc_pkts)},
2222
{"gmac_rx_pkts_64octets", MAC_STATS_FIELD_OFF(rx_64bytes)},
2323
{"gmac_rx_pkts_65to127", MAC_STATS_FIELD_OFF(rx_65to127)},

0 commit comments

Comments
 (0)