Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH v8 net-next] net: phy: Add Edge-rate driver for Microsemi PHYs.
From: Andrew Lunn @ 2016-10-05 12:07 UTC (permalink / raw)
  To: Raju Lakkaraju
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w,
	Allan.Nielsen-dzo6w/eZyo2tG0bUXCXiUA
In-Reply-To: <1475667578-20799-1-git-send-email-Raju.Lakkaraju-dzo6w/eZyo2tG0bUXCXiUA@public.gmane.org>

> - As per review comment, Added DT vddmac, slowdown value error check. 

So i said an exact match, which this is not.

How about something like:

static u8 vsc85xx_edge_rate_magic_get(u16 vddmac, u8 slowdown)
{
	u8 vdd;
	u8 sd;

	for (vdd = 0; vdd < ARRAY_SIZE(edge_table); vdd++)
		if (edge_table[vdd].vddmac == vddmac)
			for (sd = 0; sd < MSCC_SLOWDOWN_MAX; sd++)
				if (edge_table[vdd].slowdown[sd] == slowdown)
					return (MSCC_SLOWDOWN_MAX - sd - 1);
 	return -EINVAL;
}

> @@ -197,15 +203,34 @@ static int vsc8531_of_init(struct phy_device *phydev)
  
  	rc = of_property_read_u16(of_node, "vsc8531,vddmac",
  				  &vsc8531->vddmac);
 	if (rc == -EINVAL)
 		vddmac = MSCC_VDDMAC_3300;

  	rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown",
  				 &vsc8531->edge_slowdown);
 	if (rc == -EINVAL)
  		edge_slowdown = 0;

 	vsc8531->rate_magic = edge_rate_magic_get(vddmac, edge_slowdown);
	if (vsc8531->rate_magic < 0) {
 	   dev_err(phydev->dev, "Invalid vsc8531,vddmac or vsc8531,edge-slowdown");
	   return vsc8531->rate_magic;
        }

>  static int vsc8531_of_init(struct phy_device *phydev)
> @@ -232,8 +257,8 @@ static int vsc85xx_config_init(struct phy_device *phydev)
>  	if (rc)
>  		return rc;
>  
>  	rc = vsc85xx_edge_rate_cntl_set(phydev, vsc8531->rate_magic);
>  	if (rc)
>  		return rc;

	Andrew
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* tg3 BUG: spinlock lockup suspected
From: Meelis Roos @ 2016-10-05 12:06 UTC (permalink / raw)
  To: netdev, sparclinux

I am testing 4.8 on my sparcs and got this on Sun V210 (sparc64). This 
is reproducible. 4.8.0-rc3-00013 did not have this problem, will bisect 
when I get some time.

[   74.123859] tg3.c:v3.137 (May 11, 2014)
[   74.123880] PCI: Enabling device: (0000:00:02.0), cmd 2
[   74.315794] tg3 0000:00:02.0 (unnamed net_device) (uninitialized): Cannot get nvram lock, tg3_nvram_init failed
[   74.656152] tg3 0000:00:02.0 eth0: Tigon3 [partno(none) rev 2003] (PCI:66MHz:64-bit) MAC address 00:03:ba:0a:f3:85
[   74.656160] tg3 0000:00:02.0 eth0: attached PHY is 5704 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])
[   74.656167] tg3 0000:00:02.0 eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[   74.656172] tg3 0000:00:02.0 eth0: dma_rwctrl[763f0000] dma_mask[32-bit]
[   74.656322] PCI: Enabling device: (0000:00:02.1), cmd 2
[   74.845325] tg3 0000:00:02.1 (unnamed net_device) (uninitialized): Cannot get nvram lock, tg3_nvram_init failed
[   75.184539] tg3 0000:00:02.1 eth1: Tigon3 [partno(none) rev 2003] (PCI:66MHz:64-bit) MAC address 00:03:ba:0a:f3:86
[   75.184546] tg3 0000:00:02.1 eth1: attached PHY is 5704 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])
[   75.184551] tg3 0000:00:02.1 eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[   75.184557] tg3 0000:00:02.1 eth1: dma_rwctrl[763f0000] dma_mask[32-bit]
[   75.184708] PCI: Enabling device: (0003:00:02.0), cmd 2
[   75.375322] tg3 0003:00:02.0 (unnamed net_device) (uninitialized): Cannot get nvram lock, tg3_nvram_init failed
[   75.714681] tg3 0003:00:02.0 eth2: Tigon3 [partno(none) rev 2003] (PCI:66MHz:64-bit) MAC address 00:03:ba:0a:f3:87
[   75.714688] tg3 0003:00:02.0 eth2: attached PHY is 5704 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])
[   75.714694] tg3 0003:00:02.0 eth2: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[   75.714699] tg3 0003:00:02.0 eth2: dma_rwctrl[763f0000] dma_mask[32-bit]
[   75.714819] PCI: Enabling device: (0003:00:02.1), cmd 2
[   75.905278] tg3 0003:00:02.1 (unnamed net_device) (uninitialized): Cannot get nvram lock, tg3_nvram_init failed
[   76.244470] tg3 0003:00:02.1 eth3: Tigon3 [partno(none) rev 2003] (PCI:66MHz:64-bit) MAC address 00:03:ba:0a:f3:88
[   76.244477] tg3 0003:00:02.1 eth3: attached PHY is 5704 (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[0])
[   76.244482] tg3 0003:00:02.1 eth3: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
[   76.244488] tg3 0003:00:02.1 eth3: dma_rwctrl[763f0000] dma_mask[32-bit]
[   83.643317] tg3 0000:00:02.0 eth0: No firmware running
[...]
[   83.716570] BUG: spinlock lockup suspected on CPU#0, dhclient/1014
[   83.797819]  lock: 0xfff000123c8e4a08, .magic: dead4ead, .owner: ip/1001, .owner_cpu: 1
[   83.903130] CPU: 0 PID: 1014 Comm: dhclient Not tainted 4.8.0 #4
[   83.982129] Call Trace:
[   84.014160]  [00000000004b7220] spin_dump+0x60/0xa0
[   84.078203]  [00000000004b73a0] do_raw_spin_lock+0xa0/0x120
[   84.106344] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   84.107193] ip (1001) used greatest stack depth: 2168 bytes left
[   84.306955]  [000000000092c0d0] _raw_spin_lock_bh+0x30/0x40
[   84.380188]  [00000000100822cc] tg3_get_stats64+0xc/0x80 [tg3]
[   84.456885]  [00000000007fac8c] dev_get_stats+0x2c/0xc0
[   84.525506]  [000000000081a4e8] dev_seq_printf_stats+0x8/0xe0
[   84.600986]  [000000000081a5e4] dev_seq_show+0x24/0x40
[   84.668467]  [00000000005cb6c4] seq_read+0x2c4/0x440
[   84.733656]  [000000000060b97c] proc_reg_read+0x3c/0x80
[   84.802282]  [00000000005a219c] __vfs_read+0x1c/0x140
[   84.868613]  [00000000005a2310] vfs_read+0x50/0x100
[   84.932662]  [00000000005a265c] SyS_read+0x3c/0xa0
[   84.995573]  [00000000004061d4] linux_sparc_syscall32+0x34/0x60
[   85.073748] * CPU[  0]: TSTATE[00000044f0001a22] TPC[00000000f79a16b0] TNPC[00000000f79a16b4] TASK[dhclient:1014]
[   85.208732]              TPC[f79a16b0] O7[f79405c8] I7[0] RPC[0]
[   85.287633]   CPU[  1]: TSTATE[0000004480001605] TPC[00000000004b26f0] TNPC[00000000004d0b0c] TASK[swapper/1:0]
[   85.420338]              TPC[trace_hardirqs_off+0x10/0x20] O7[rcu_idle_enter+0x64/0xa0] I7[cpu_startup_entry+0x1b0/0x240] RPC[rest_init+0x178/0x1a0]
[   85.664600] tg3 0000:00:02.0 eth0: Link is up at 100 Mbps, full duplex
[   85.750515] tg3 0000:00:02.0 eth0: Flow control is off for TX and off for RX
[   85.843994] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

-- 
Meelis Roos (mroos@linux.ee)

^ permalink raw reply

* Re: [PATCH 3/3] mac80211: multicast to unicast conversion
From: Johannes Berg @ 2016-10-05 11:58 UTC (permalink / raw)
  To: michael-dev; +Cc: linux-wireless, projekt-wlan, netdev
In-Reply-To: <1690671fb30f19c53c7883a5207c5721@fami-braun.de>

On Wed, 2016-10-05 at 13:40 +0200, michael-dev wrote:
> Am 05.10.2016 12:19, schrieb Johannes Berg:
> > 
> > > 
> > > on both ends. Furthermore, I've seen a few mobile phone stations
> > > locally that indicate qos support but won't complete DHCP if
> > > their broadcasts are encapsulated as A-MSDU. Though they work
> > > fine with this series approach.
> > 
> > Presumably those phones also don't even try to use DMS, right?
> 
> When I traced this two years ago, almost no device indicated DMS 
> support, even though almost all seem to accepted multicast in unicast
> a-msdu frames.

Right, that's what I suspected. I'm a bit surprised they accepted
multicast in unicast A-MSDU too, though I don't actually see any big
problem with it.

> > How did you determine that it "works fine"?
> 
> First, I tested this manually using my own devices or asked friends. 
[snip

Thanks!

> > I see at least one undesirable impact of this, which DMS doesn't
> > have; it breaks a client's MUST NOT requirement from RFC 1122:
> 
> Okay, so this cannot go into linux, right?

I'm not necessarily saying that, I just think we need to be careful
documenting possibly unexpected/undesired side-effects.

> > > + * @set_ap_unicast: set the multicast to unicast flag for a AP
> > > interface
> > 
> > That API name isn't very descriptive, I'm sure we can do something
> > better there.
> 
> proposal: "request multicast packets to be trasnmitted as unicast" ?

I was thinking more of the function name ("set_ap_unicast") which by
itself makes no sense - set_multicast_to_unicast or something like that
would be better, no?

> > Also, perhaps we should structure this already like we would DMS,
> > with a per-station toggle or even list of multicast addresses?
> 
> should be possible, yes

I'm mostly handwaving though, haven't really looked at what DMS really
would require from the API, even assuming that hostapd would implement
all the action frame handling etc.

It's quite possible that on the *client* side, mac80211 should
implement the DMS client, if supported, and perhaps only if enabled by
some kind of configuration knob.

> > Was this not documented but also intended to apply to its dependent
> > VLANs?
> 
> it was intended as a per per-BSS toggle, so it applies to all
> dependent VLANs automatically.

makes sense, but you should document it in the API documentation, which
today says "for a AP interface" or so (see above)

(btw - writing that out I see that it should be "an AP interface" too)

> > 
> > > 
> > > +/* Check if multicast to unicast conversion is needed and do it.
> > > + * Returns 1 if skb was freed and should not be send out. */
> > 
> > wrong comment style :)
> 
> you mean the */ at end of line instead of on a new line?

yeah, no big deal though.

I've also mostly gone back to non-davem style with /* also on its own
line, but it's not so important. :)

> > > +	unicast = nla_data(info->attrs[NL80211_ATTR_UNICAST]);
> > 
> > What's this supposed to mean?
> 
> this was supposed to be nla_get_u8.

Shouldn't it just be nla_get_flag()? I mean, why do you have a u8 with
values 0/1 rather than just flag attribute absent/present?

Anyway, perhaps this needs to change to take DMS/per-station into
account?

Then again, this kind of setting - global multicast-to-unicast -
fundamentally *cannot* be done on a per-station basis, since if you
enable it for one station and not for another, the first station that
has it enabled would get the packets twice...

johannes

^ permalink raw reply

* Re: [PATCH 3/3] mac80211: multicast to unicast conversion
From: michael-dev @ 2016-10-05 11:40 UTC (permalink / raw)
  To: Johannes Berg
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	projekt-wlan-3kN+8DYepx7zMJDuovMtMLNAH6kLmebB, netdev
In-Reply-To: <1475662791.4994.39.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>

Am 05.10.2016 12:19, schrieb Johannes Berg:
>> on both ends. Furthermore, I've seen a few mobile phone stations
>> locally that indicate qos support but won't complete DHCP if their
>> broadcasts are encapsulated as A-MSDU. Though they work fine with
>> this series approach.
> 
> Presumably those phones also don't even try to use DMS, right?

When I traced this two years ago, almost no device indicated DMS 
support, even though almost all seem to accepted multicast in unicast 
a-msdu frames.

> 
>> This patch therefore does not opt to implement DMS but instead just
>> replicates the packet and changes the destination address. As this
>> works fine with ARP, IPv4 and IPv6, it is limited to these protocols
>> and normal 802.11 multicast frames are send out for all other payload
>> protocols.
> 
> How did you determine that it "works fine"?

First, I tested this manually using my own devices or asked friends. I 
think this covered at least a recent debian x64 with an intel wireless 
card, a windows 7 x64 with an intel wireless card, an android phone, an 
ios phone and some recent macbook. Manually testing included visiting an 
IPv6 only website (this network uses IPv6 router advertismentens (RA) 
but no DHCPv6), so RA is accepted and ND working. Additionally, 
arping'ing these station using broadcast arp request worked fine, so 
broadcast arp requests are working. Finally, DHCP worked fine and UPNP 
multicast discovery for some closed source media streaming wireless 
device was reported working.

Next, that change was rolled out. It is now in use for at least three 
years with about 300 simulatenously online stations and >2000 currently 
registered devices and there hasn't been a single problem report that 
could be related to that change. Though, e.g. our samsung galaxy users 
report consistently that their devices refuse to connect using WPA-PSK 
as our network advertises FT-PSK next to WPA-PSK and I learned that 
there was at least one device there that did not like the 
multicast-as-unicast-amsdu packets due to a user problem report.

> I see at least one undesirable impact of this, which DMS doesn't have;
> it breaks a client's MUST NOT requirement from RFC 1122:

Okay, so this cannot go into linux, right?

The thing I dislike most about DMS is that it is client driven, that is 
an AP will only apply unicast conversion if a station actively requests 
so.

> You should split the patch into cfg80211 and mac80211, IMHO it's big
> enough to do that.

ok

>> + * @set_ap_unicast: set the multicast to unicast flag for a AP
>> interface
> 
> That API name isn't very descriptive, I'm sure we can do something
> better there.

proposal: "request multicast packets to be trasnmitted as unicast" ?

> Also, perhaps we should structure this already like we would DMS, with
> a per-station toggle or even list of multicast addresses?

should be possible, yes


>> +static int ieee80211_set_ap_unicast(struct wiphy *wiphy, struct
>> net_device *dev,
>> +				    const bool unicast)
>> +{
>> +	struct ieee80211_sub_if_data *sdata =
>> IEEE80211_DEV_TO_SUB_IF(dev);
>> +
>> +	if (sdata->vif.type != NL80211_IFTYPE_AP)
>> +		return -1;
> 
> Was this not documented but also intended to apply to its dependent
> VLANs?

it was intended as a per per-BSS toggle, so it applies to all dependent 
VLANs automatically.

>> +/* Check if multicast to unicast conversion is needed and do it.
>> + * Returns 1 if skb was freed and should not be send out. */
> 
> wrong comment style :)

you mean the */ at end of line instead of on a new line?

>> +	unicast = nla_data(info->attrs[NL80211_ATTR_UNICAST]);
> 
> What's this supposed to mean?

this was supposed to be nla_get_u8.

michael

^ permalink raw reply

* [PATCH v8 net-next] net: phy: Add Edge-rate driver for Microsemi PHYs.
From: Raju Lakkaraju @ 2016-10-05 11:39 UTC (permalink / raw)
  To: netdev, devicetree; +Cc: f.fainelli, Allan.Nielsen, andrew, Raju Lakkaraju

From: Raju Lakkaraju <Raju.Lakkaraju@microsemi.com>

Edge-rate:
As system and networking speeds increase, a signal's output transition,
also know as the edge rate or slew rate (V/ns), takes on greater importance
because high-speed signals come with a price. That price is an assortment of
interference problems like ringing on the line, signal overshoot and
undershoot, extended signal settling times, crosstalk noise, transmission
line reflections, false signal detection by the receiving device and
electromagnetic interference (EMI) -- all of which can negate the potential
gains designers are seeking when they try to increase system speeds through
the use of higher performance logic devices. The fact is, faster signaling
edge rates can cause a higher level of electrical noise or other type of
interference that can actually lead to slower line speeds and lower maximum
system frequencies. This parameter allow the board designers to change the
driving strange, and thereby change the EMI behavioral.

Edge-rate parameters (vddmac, edge-slowdown) get from Device Tree.

Tested on Beaglebone Black with VSC 8531 PHY.

Signed-off-by: Raju Lakkaraju <Raju.Lakkaraju@microsemi.com>

---
All the review comments updated and resending for review.

Change set:
v1:
- Initial version of Edge-rate driver add by using IOCTL.
v2:
- Changed edge-rate parameter to Device Tree with magic number.
v3:
- Added Device Tree documentati0n and edge-rate parameter table.
  Added probe function initialize the vsc8531 private data structure.
v4:
- As per review comment, Device Tree parameters (vddmac, edge-slowdown)
  added.
v5:
- As per review comment, Device Tree Document parameters (vddmac, 
  edge-slowdown) real numbers added. Table number changed from 5 to 1.
v6:
- As per review comment, Removed Device Tree header file. Removed MACROs
  and add ARRAYSIZE
v7:
- As per review comment, Removed '-'s (minus) sign in Edge rate table. 
v8:
- As per review comment, Added DT vddmac, slowdown value error check. 

---

 .../devicetree/bindings/net/mscc-phy-vsc8531.txt   | 22 +++----
 drivers/net/phy/mscc.c                             | 69 +++++++++++++++-------
 include/dt-bindings/net/mscc-phy-vsc8531.h         | 21 -------
 3 files changed, 59 insertions(+), 53 deletions(-)
 delete mode 100644 include/dt-bindings/net/mscc-phy-vsc8531.h

diff --git a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt
index 99c7eb0..1173498 100644
--- a/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt
+++ b/Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt
@@ -8,8 +8,7 @@ Required properties:
 Optional properties:
 - vsc8531,vddmac	: The vddmac in mV.
 - vsc8531,edge-slowdown	: % the edge should be slowed down relative to
-			  the fastest possible edge time. Native sign
-			  need not enter.
+			  the fastest possible edge time.
 			  Edge rate sets the drive strength of the MAC
 			  interface output signals.  Changing the drive
 			  strength will affect the edge rate of the output
@@ -18,7 +17,8 @@ Optional properties:
 			  to reprogram drive strength and in effect slow
 			  down the edge rate if desired.  Table 1 shows the
 			  impact to the edge rate per VDDMAC supply for each
-			  drive strength setting.
+			  drive strength setting. VDDMAC supply voltage
+			  should be one of the value in Table-1 first row.
 			  Ref: Table:1 - Edge rate change below.
 
 Note: see dt-bindings/net/mscc-phy-vsc8531.h for applicable values
@@ -29,23 +29,25 @@ Table: 1 - Edge rate change
 |								|
 | 3300 mV	2500 mV		1800 mV		1500 mV		|
 |---------------------------------------------------------------|
+| 0%		0%		0%		0%		|
+|								|
 | Default	Deafult		Default		Default		|
 | (Fastest)			(recommended)	(recommended)	|
 |---------------------------------------------------------------|
-| -2%		-3%		-5%		-6%		|
+| 2%		3%		5%		6%		|
 |---------------------------------------------------------------|
-| -4%		-6%		-9%		-14%		|
+| 4%		6%		9%		14%		|
 |---------------------------------------------------------------|
-| -7%		-10%		-16%		-21%		|
+| 7%		10%		16%		21%		|
 |(recommended)	(recommended)					|
 |---------------------------------------------------------------|
-| -10%		-14%		-23%		-29%		|
+| 10%		14%		23%		29%		|
 |---------------------------------------------------------------|
-| -17%		-23%		-35%		-42%		|
+| 17%		23%		35%		42%		|
 |---------------------------------------------------------------|
-| -29%		-37%		-52%		-58%		|
+| 29%		37%		52%		58%		|
 |---------------------------------------------------------------|
-| -53%		-63%		-76%		-77%		|
+| 53%		63%		76%		77%		|
 | (slowest)							|
 |---------------------------------------------------------------|
 
diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c
index a17573e..30f147e 100644
--- a/drivers/net/phy/mscc.c
+++ b/drivers/net/phy/mscc.c
@@ -12,7 +12,6 @@
 #include <linux/mii.h>
 #include <linux/phy.h>
 #include <linux/of.h>
-#include <dt-bindings/net/mscc-phy-vsc8531.h>
 
 enum rgmii_rx_clock_delay {
 	RGMII_RX_CLK_DELAY_0_2_NS = 0,
@@ -56,16 +55,18 @@ enum rgmii_rx_clock_delay {
 #define PHY_ID_VSC8531			  0x00070570
 #define PHY_ID_VSC8541			  0x00070770
 
+#define MSCC_SLOWDOWN_MAX		  8
+
 struct edge_rate_table {
 	u16 vddmac;
-	int slowdown[MSCC_SLOWDOWN_MAX];
+	u8 slowdown[MSCC_SLOWDOWN_MAX];
 };
 
-struct edge_rate_table edge_table[MSCC_VDDMAC_MAX] = {
-	{3300, { 0, -2, -4,  -7,  -10, -17, -29, -53} },
-	{2500, { 0, -3, -6,  -10, -14, -23, -37, -63} },
-	{1800, { 0, -5, -9,  -16, -23, -35, -52, -76} },
-	{1500, { 0, -6, -14, -21, -29, -42, -58, -77} },
+static const struct edge_rate_table edge_table[] = {
+	{3300, { 0, 2, 4,  7,  10, 17, 29, 53} },
+	{2500, { 0, 3, 6,  10, 14, 23, 37, 63} },
+	{1800, { 0, 5, 9,  16, 23, 35, 52, 76} },
+	{1500, { 0, 6, 14, 21, 29, 42, 58, 77} },
 };
 
 struct vsc8531_private {
@@ -81,24 +82,28 @@ static int vsc85xx_phy_page_set(struct phy_device *phydev, u8 page)
 	return rc;
 }
 
-static u8 edge_rate_magic_get(u16 vddmac,
-			      int slowdown)
+static u8 vsc85xx_edge_rate_magic_get(u16 vddmac,
+				      u8 slowdown)
 {
-	int rc = (MSCC_SLOWDOWN_MAX - 1);
+	int rc = (ARRAY_SIZE(edge_table[0].slowdown) - 1);
 	u8 vdd;
 	u8 sd;
 
-	for (vdd = 0; vdd < MSCC_VDDMAC_MAX; vdd++) {
+	for (vdd = 0; vdd < ARRAY_SIZE(edge_table); vdd++) {
 		if (edge_table[vdd].vddmac == vddmac) {
-			for (sd = 0; sd < MSCC_SLOWDOWN_MAX; sd++) {
-				if (edge_table[vdd].slowdown[sd] <= slowdown) {
-					rc = (MSCC_SLOWDOWN_MAX - sd - 1);
-					break;
+			for (sd = 0;
+			     sd < ARRAY_SIZE(edge_table[0].slowdown);
+			     sd++) {
+				if (edge_table[vdd].slowdown[sd] >= slowdown) {
+					rc = (ARRAY_SIZE(edge_table[0].slowdown)
+					      - sd - 1);
+					goto out;
 				}
 			}
 		}
 	}
 
+out:
 	return rc;
 }
 
@@ -188,6 +193,7 @@ out_unlock:
 static int vsc8531_of_init(struct phy_device *phydev)
 {
 	int rc;
+	u8 vdd;
 	struct vsc8531_private *vsc8531 = phydev->priv;
 	struct device *dev = &phydev->mdio.dev;
 	struct device_node *of_node = dev->of_node;
@@ -197,15 +203,34 @@ static int vsc8531_of_init(struct phy_device *phydev)
 
 	rc = of_property_read_u16(of_node, "vsc8531,vddmac",
 				  &vsc8531->vddmac);
-	if (rc == -EINVAL)
-		vsc8531->vddmac = MSCC_VDDMAC_3300;
+	if (rc == -EINVAL) {
+		phydev_err(phydev, "DT VDDMAC not define\n");
+		vsc8531->vddmac = 3300;
+	} else {
+		for (vdd = 0; vdd < ARRAY_SIZE(edge_table); vdd++) {
+			if (edge_table[vdd].vddmac == vsc8531->vddmac)
+				break;
+		}
+		if (vdd == ARRAY_SIZE(edge_table)) {
+			phydev_err(phydev, "Invalid VDDMAC\n");
+			return -EINVAL;
+		}
+	}
+
 	rc = of_property_read_u8(of_node, "vsc8531,edge-slowdown",
 				 &vsc8531->edge_slowdown);
-	if (rc == -EINVAL)
+	if (rc == -EINVAL) {
+		phydev_err(phydev, "DT Edgerate slowdown not define\n");
 		vsc8531->edge_slowdown = 0;
+	} else {
+		if (edge_table[vdd].slowdown[MSCC_SLOWDOWN_MAX - 1] <
+		    vsc8531->edge_slowdown) {
+			phydev_err(phydev, "Invalid Edge slowdown\n");
+			return -EINVAL;
+		}
+	}
 
-	rc = 0;
-	return rc;
+	return 0;
 }
 #else
 static int vsc8531_of_init(struct phy_device *phydev)
@@ -232,8 +257,8 @@ static int vsc85xx_config_init(struct phy_device *phydev)
 	if (rc)
 		return rc;
 
-	edge_rate = edge_rate_magic_get(vsc8531->vddmac,
-					-(int)vsc8531->edge_slowdown);
+	edge_rate = vsc85xx_edge_rate_magic_get(vsc8531->vddmac,
+						vsc8531->edge_slowdown);
 	rc = vsc85xx_edge_rate_cntl_set(phydev, edge_rate);
 	if (rc)
 		return rc;
diff --git a/include/dt-bindings/net/mscc-phy-vsc8531.h b/include/dt-bindings/net/mscc-phy-vsc8531.h
deleted file mode 100644
index 2383dd2..0000000
--- a/include/dt-bindings/net/mscc-phy-vsc8531.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * Device Tree constants for Microsemi VSC8531 PHY
- *
- * Author: Nagaraju Lakkaraju
- *
- * License: Dual MIT/GPL
- * Copyright (c) 2016 Microsemi Corporation
- */
-
-#ifndef _DT_BINDINGS_MSCC_VSC8531_H
-#define _DT_BINDINGS_MSCC_VSC8531_H
-
-/* MAC interface Edge rate control VDDMAC in milli Volts */
-#define MSCC_VDDMAC_3300		 3300
-#define MSCC_VDDMAC_2500		 2500
-#define MSCC_VDDMAC_1800		 1800
-#define MSCC_VDDMAC_1500		 1500
-#define MSCC_VDDMAC_MAX			 4
-#define MSCC_SLOWDOWN_MAX		 8
-
-#endif
-- 
2.7.4

^ permalink raw reply related

* Re: [patch net 0/2] mlxsw: Couple of fixes
From: Jiri Pirko @ 2016-10-05 11:14 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, yotamg, idosch, eladr, nogahf, ogerlitz
In-Reply-To: <20161004.202927.1650578832896717724.davem@davemloft.net>

Wed, Oct 05, 2016 at 02:29:27AM CEST, davem@davemloft.net wrote:
>From: Jiri Pirko <jiri@resnulli.us>
>Date: Tue,  4 Oct 2016 09:46:03 +0200
>
>> Couple of fixes from Yotam.
>
>Series applied, thanks.
>
>Note that needed_headroom is a request, rather than a guarantee, so you
>may in some rare cases need to realloc your headroom if the kernel was
>not able to meet your request.

We already do that: 

        if (unlikely(skb_headroom(skb) < MLXSW_TXHDR_LEN)) {
                struct sk_buff *skb_orig = skb;

                skb = skb_realloc_headroom(skb, MLXSW_TXHDR_LEN);
                if (!skb) {
                        this_cpu_inc(mlxsw_sp_port->pcpu_stats->tx_dropped);
                        dev_kfree_skb_any(skb_orig);
                        return NETDEV_TX_OK;
                }
        }

^ permalink raw reply

* Re: [PATCH] bluetooth.h: __ variants of u8 and friends are not neccessary inside kernel
From: Marcel Holtmann @ 2016-10-05 11:14 UTC (permalink / raw)
  To: Pavel Machek
  Cc: trivial, Gustavo F. Padovan, Johan Hedberg, David S. Miller,
	linux-bluetooth, netdev, linux-kernel
In-Reply-To: <20161003085640.GA8130@amd>

Hi Pavel,

> bluetooth.h is not part of user API, so __ variants are not neccessary
> here.
> 
> Signed-off-by: Pavel Machek <pavel@ucw.cz>
> 
> diff --git a/include/net/bluetooth/bluetooth.h b/include/net/bluetooth/bluetooth.h
> index bfd1590..aea0371 100644
> --- a/include/net/bluetooth/bluetooth.h
> +++ b/include/net/bluetooth/bluetooth.h
> @@ -60,8 +60,8 @@
> 
> #define BT_SECURITY	4
> struct bt_security {
> -	__u8 level;
> -	__u8 key_size;
> +	u8 level;
> +	u8 key_size;
> };
> #define BT_SECURITY_SDP		0
> #define BT_SECURITY_LOW		1
> @@ -78,7 +78,7 @@ struct bt_security {
> 
> #define BT_POWER	9
> struct bt_power {
> -	__u8 force_active;
> +	u8 force_active;
> };
> #define BT_POWER_FORCE_ACTIVE_OFF 0
> #define BT_POWER_FORCE_ACTIVE_ON  1
> @@ -112,7 +112,7 @@ struct bt_power {
> 
> #define BT_VOICE		11
> struct bt_voice {
> -	__u16 setting;
> +	u16 setting;
> };
> 
> #define BT_VOICE_TRANSPARENT			0x0003
> @@ -188,7 +188,7 @@ static inline const char *state_to_string(int state)
> 
> /* BD Address */
> typedef struct {
> -	__u8 b[6];
> +	u8 b[6];
> } __packed bdaddr_t;
> 

can you leave these out please. They are meant to become UAPI eventually.

> /* BD Address type */
> @@ -196,7 +196,7 @@ typedef struct {
> #define BDADDR_LE_PUBLIC	0x01
> #define BDADDR_LE_RANDOM	0x02
> 
> -static inline bool bdaddr_type_is_valid(__u8 type)
> +static inline bool bdaddr_type_is_valid(u8 type)
> {
> 	switch (type) {
> 	case BDADDR_BREDR:
> @@ -208,7 +208,7 @@ static inline bool bdaddr_type_is_valid(__u8 type)
> 	return false;
> }
> 
> -static inline bool bdaddr_type_is_le(__u8 type)
> +static inline bool bdaddr_type_is_le(u8 type)
> {
> 	switch (type) {
> 	case BDADDR_LE_PUBLIC:
> @@ -278,15 +278,16 @@ struct sock *bt_accept_dequeue(struct sock *parent, struct socket *newsock);
> 
> /* Skb helpers */
> struct l2cap_ctrl {
> -	__u8	sframe:1,
> +	u8	sframe:1,
> 		poll:1,
> 		final:1,
> 		fcs:1,
> 		sar:2,
> 		super:2;
> -	__u16	reqseq;
> -	__u16	txseq;
> -	__u8	retries;
> +
> +	u16	reqseq;
> +	u16	txseq;
> +	u8	retries;
> 	__le16  psm;
> 	bdaddr_t bdaddr;
> 	struct l2cap_chan *chan;
> @@ -302,7 +303,7 @@ typedef void (*hci_req_complete_skb_t)(struct hci_dev *hdev, u8 status,
> #define HCI_REQ_SKB	BIT(1)
> 
> struct hci_ctrl {
> -	__u16 opcode;
> +	u16 opcode;
> 	u8 req_flags;
> 	u8 req_event;
> 	union {
> @@ -312,10 +313,10 @@ struct hci_ctrl {
> };
> 
> struct bt_skb_cb {
> -	__u8 pkt_type;
> -	__u8 force_active;
> -	__u16 expect;
> -	__u8 incoming:1;
> +	u8 pkt_type;
> +	u8 force_active;
> +	u16 expect;
> +	u8 incoming:1;
> 	union {
> 		struct l2cap_ctrl l2cap;
> 		struct hci_ctrl hci;
> @@ -365,7 +366,7 @@ out:
> 	return NULL;
> }
> 
> -int bt_to_errno(__u16 code);
> +int bt_to_errno(u16 code);

The rest looks good to me.

Regards

Marcel

^ permalink raw reply

* Re: [PATCH 3/3] mac80211: multicast to unicast conversion
From: Johannes Berg @ 2016-10-05 10:19 UTC (permalink / raw)
  To: Michael Braun
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	projekt-wlan-3kN+8DYepx7zMJDuovMtMLNAH6kLmebB, netdev
In-Reply-To: <1475643324-2845-3-git-send-email-michael-dev-1SGGS//iJ+Y38rf8aCqVIw@public.gmane.org>

+netdev

> IEEE802.11-2012 proposes directed multicast service (DMS) using A-
> MSDU frames and a station initiated control protocol. It has the
> advantage that the station can recover the destination multicast mac
> address, but it is not backward compatible with non QOS stations and
> does not enable the administrator of a BSS to force this mode of
> operation within a BSS. Additionally, it would require both the ap
> and the station to implement the control protocol, which is optional
> on both ends. Furthermore, I've seen a few mobile phone stations
> locally that indicate qos support but won't complete DHCP if their
> broadcasts are encapsulated as A-MSDU. Though they work fine with
> this series approach.

Presumably those phones also don't even try to use DMS, right?

> This patch therefore does not opt to implement DMS but instead just
> replicates the packet and changes the destination address. As this
> works fine with ARP, IPv4 and IPv6, it is limited to these protocols
> and normal 802.11 multicast frames are send out for all other payload
> protocols.

How did you determine that it "works fine"?

I see at least one undesirable impact of this, which DMS doesn't have;
it breaks a client's MUST NOT requirement from RFC 1122:

         An ICMP error message MUST NOT be sent as the result of
         receiving:
[...]
         *    a datagram sent as a link-layer broadcast, or
[...]

since the client can no longer realize that the datagram was in fact
sent as a link-layer broadcast (or multicast).

>  include/net/cfg80211.h        |   5 ++
>  include/uapi/linux/nl80211.h  |   7 +++
>  net/mac80211/cfg.c            |  14 ++++++
>  net/mac80211/debugfs_netdev.c |  29 ++++++++++++
>  net/mac80211/ieee80211_i.h    |   1 +
>  net/mac80211/tx.c             | 103
> ++++++++++++++++++++++++++++++++++++++++++
>  net/wireless/nl80211.c        |  33 ++++++++++++++
>  net/wireless/rdev-ops.h       |  11 +++++
>  net/wireless/trace.h          |  19 ++++++++
>  9 files changed, 222 insertions(+)

You should split the patch into cfg80211 and mac80211, IMHO it's big
enough to do that.

> + * @set_ap_unicast: set the multicast to unicast flag for a AP
> interface

That API name isn't very descriptive, I'm sure we can do something
better there.

Also, perhaps we should structure this already like we would DMS, with
a per-station toggle or even list of multicast addresses?

> @@ -2261,6 +2266,8 @@ enum nl80211_attrs {
>  
>  	NL80211_ATTR_MESH_PEER_AID,
>  
> +	NL80211_ATTR_UNICAST,

missing docs, but likely doesn't matter after the comment above

> +static int ieee80211_set_ap_unicast(struct wiphy *wiphy, struct
> net_device *dev,
> +				    const bool unicast)
> +{
> +	struct ieee80211_sub_if_data *sdata =
> IEEE80211_DEV_TO_SUB_IF(dev);
> +
> +	if (sdata->vif.type != NL80211_IFTYPE_AP)
> +		return -1;

Was this not documented but also intended to apply to its dependent
VLANs?

> +static ssize_t
> +ieee80211_if_fmt_unicast(const struct ieee80211_sub_if_data *sdata,
> +			 char *buf, int buflen)
> +{
> +	const struct ieee80211_if_ap *ifap = &sdata->u.ap;
> +
> +	return snprintf(buf, buflen, "0x%x\n", ifap->unicast);
> +}
> +
> +static ssize_t
> +ieee80211_if_parse_unicast(struct ieee80211_sub_if_data *sdata,
> +			   const char *buf, int buflen)
> +{
> +	struct ieee80211_if_ap *ifap = &sdata->u.ap;
> +	u8 val;
> +	int ret;
> +
> +	ret = kstrtou8(buf, 0, &val);
> +	if (ret)
> +		return ret;
> +
> +	ifap->unicast = val ? 1 : 0;
> +
> +	return buflen;
> +}
> +
> +IEEE80211_IF_FILE_RW(unicast);

No need for this, at least the setter, any more.

> +/* Check if multicast to unicast conversion is needed and do it.
> + * Returns 1 if skb was freed and should not be send out. */

wrong comment style :)

> +static int
> +ieee80211_tx_multicast_to_unicast(struct ieee80211_sub_if_data
> *sdata,
> +				  struct sk_buff *skb,
> u32  info_flags)
> +{
> +	struct ieee80211_local *local = sdata->local;
> +	const struct ethhdr *eth = (void *)skb->data;
> +	const struct vlan_ethhdr *ethvlan = (void *)skb->data;
> +	struct sta_info *sta, *prev = NULL;
> +	struct sk_buff *cloned_skb;
> +	u16 ethertype;
> +
> +	/* multicast to unicast conversion only for AP interfaces */
> +	switch (sdata->vif.type) {
> +	case NL80211_IFTYPE_AP_VLAN:
> +		sta = rcu_dereference(sdata->u.vlan.sta);
> +		if (sta) /* 4addr */
> +			return 0;
> +	case NL80211_IFTYPE_AP:
> +		break;
> +	default:
> +		return 0;
> +	}
> +
> +	/* check runtime toggle for this bss */
> +	if (!sdata->bss->unicast)
> +		return 0;
> +
> +	/* check if this is a multicast frame */
> +	if (!is_multicast_ether_addr(eth->h_dest))
> +		return 0;

That should probably come first, would make this far easier to read.

> +		if (unlikely(!memcmp(eth->h_source, sta->sta.addr,
> ETH_ALEN)))
> +			/* do not send back to source */
> +			continue;

ether_addr_something, instead of memcmp?

> +		if (unlikely(is_multicast_ether_addr(sta-
> >sta.addr))) {
> +			WARN_ONCE(1, "sta with multicast address
> %pM",
> +				  sta->sta.addr);
> +			continue;
> +		}

Err, no, remove this... it cannot happen. We could move the check into
cfg80211 from mac80211, but we surely shouldn't add it into the TX
hotpath!

> +		if (prev) {
> +			cloned_skb = skb_clone(skb, GFP_ATOMIC);
> +			if (likely(!ieee80211_change_da(cloned_skb,
> prev)))
> +				ieee80211_subif_start_xmit(cloned_sk
> b,
> +							   cloned_sk
> b->dev);

I'm not very happy with this recursion, but I guess it can't be avoided
easily. However, you can easily call the more
sensible __ieee80211_subif_start_xmit() instead of this one.

> +	unicast = nla_data(info->attrs[NL80211_ATTR_UNICAST]);

What's this supposed to mean?

johannes

^ permalink raw reply

* RE: [net-next 08/13] fsl/fman: check pcsphy pointer before use
From: Madalin-Cristian Bucur @ 2016-10-05  9:08 UTC (permalink / raw)
  To: David Laight, netdev@vger.kernel.org
  Cc: linuxdev.baldrick@gmail.com, linuxppc-dev@lists.ozlabs.org,
	davem@davemloft.net, linux-kernel@vger.kernel.org
In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6DB01E2ED3@AcuExch.aculab.com>

> -----Original Message-----
> From: David Laight [mailto:David.Laight@ACULAB.COM]
> Sent: Tuesday, October 04, 2016 5:44 PM
> To: Madalin-Cristian Bucur <madalin.bucur@nxp.com>;
> netdev@vger.kernel.org
> Cc: linuxdev.baldrick@gmail.com; linuxppc-dev@lists.ozlabs.org;
> davem@davemloft.net; linux-kernel@vger.kernel.org
> Subject: RE: [net-next 08/13] fsl/fman: check pcsphy pointer before use
> 
> From: Madalin Bucur
> > Sent: 04 October 2016 08:33
> > Subject: [net-next 08/13] fsl/fman: check pcsphy pointer before use
> ..
> > --- a/drivers/net/ethernet/freescale/fman/fman_memac.c
> > +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c
> > @@ -507,6 +507,9 @@ static void setup_sgmii_internal_phy(struct
> fman_mac *memac,
> >  {
> >  	u16 tmp_reg16;
> >
> > +	if (WARN_ON(!memac->pcsphy))
> > +		return;
> > +
> 
> Why?
> 
> Either it can validly be NULL in which case you don't want the message.
> Or it shouldn't be NULL in which case you need to find and fix the bug.
> The later kernel OOPS will make the bug much easier to find.
> 
> 	David

You can get into that situation if you have a broken device tree, state into
which someone may get while trying to create the device tree for a new
board. Avoiding a crash here allows the user to look at the device trees as
seen by the kernel / add some debug code if needed.

Madalin

^ permalink raw reply

* Re: kernel v4.8: iptables logs are truncated with the 4.8 kernel?
From: Justin Piszcz @ 2016-10-05  8:56 UTC (permalink / raw)
  To: Liping Zhang; +Cc: linux-kernel, Linux Kernel Network Developers
In-Reply-To: <CAML_gOcpW=9PEJiE=XoSTRJVjGqAb-DwsWv6JSzkEwp3ivOLfA@mail.gmail.com>

On Tue, Oct 4, 2016 at 8:58 PM, Liping Zhang <zlpnobody@gmail.com> wrote:
> Hi Justin,
>
> 2016-10-05 6:02 GMT+08:00 Justin Piszcz <jpiszcz@lucidpixels.com>:
>> Hello,
>>

[ .. ]

>
> Which one are you using? iptables or nftables?
# iptables -V
iptables v1.6.0

>
> Could you please paste the related iptables/nftables rules here?

Rules:

  $IPTABLES -N INPUT_BLOCK
  $IPTABLES -A INPUT_BLOCK -i eth1 -j NFLOG --nflog-group 2
--nflog-prefix "INPUT_BLOCK"
  $IPTABLES -A INPUT_BLOCK -j DROP
  $IPTABLES -A INPUT -j INPUT_BLOCK

Justin.

^ permalink raw reply

* Re: net-next tree broken with CONFIG_NETFILTER_INGRESS=n
From: Florian Westphal @ 2016-10-05  8:51 UTC (permalink / raw)
  To: David Miller; +Cc: marcel, netdev, aconole, fw, pablo
In-Reply-To: <20161005.040137.1214181921027379179.davem@davemloft.net>

David Miller <davem@davemloft.net> wrote:
> From: Marcel Holtmann <marcel@holtmann.org>
> Date: Wed, 5 Oct 2016 09:48:42 +0200
> 
> > I really wonder what is going on here. Normally if you break the
> > build, you fix it. However it seems nobody really cares enough. If I
> > am not mistaken, then this patch broke it:
> 
> The people who can work on and merge the fix are travelling and
> conferencing in Tokyo right now, that's why this wasn't fixed
> instantaneously.

Seems the fix is rotting in nf-next....

^ permalink raw reply

* Re: [PATCH v7 net-next] net: phy: Add Edge-rate driver for Microsemi PHYs.
From: Andrew Lunn @ 2016-10-05  8:51 UTC (permalink / raw)
  To: Raju Lakkaraju
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, devicetree-u79uwXL29TY76Z2rM5mHXA,
	f.fainelli-Re5JQEeQqe8AvxtiuMwx3w,
	Allan.Nielsen-dzo6w/eZyo2tG0bUXCXiUA
In-Reply-To: <20161005083642.GA13404-dzo6w/eZyo2tG0bUXCXiUA@public.gmane.org>

On Wed, Oct 05, 2016 at 02:06:43PM +0530, Raju Lakkaraju wrote:
> Hi Andrew,
> 
> Thank you for review comment.
> 
> On Tue, Oct 04, 2016 at 04:34:50PM +0200, Andrew Lunn wrote:
> > EXTERNAL EMAIL
> > 
> > 
> > > v7:
> > > - As per review comment, Removed '-'s (minus) sign in Edge rate table.
> > 
> > Still no exact match on the table.
> > 
> > So if i specify a voltage of 3301, 53% slowdown it looks i will
> > actually get 0% slowdown and no error message. That is not very
> > helpful.
> > 
> 
> According to my understanding, User should choose the right VDDMAC voltage
> (i.e. 3.3V or 2.5V or 1.8V or 1.5V).

And user do make typos, don't read the documentation, etc and get it
wrong. The way you have implemented this, does not help the user
figure out what they have wrong. It silently does something totally
unexpected.
 
> Do you want me to add an error trace which will inform the user that the 
> configured values can not be supported - or if the driver should pick 
> the "closest" value it can support (or both).

You should validate what the user has requested via DT is valid, and
it not, return -EINVAL during probe. That should cause the PHY driver
to fail to load, making it clear something is bad in the device tree.
A dev_err() call saying which parameter is invalid would also be nice.

  Andrew
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* [PATCH v2 net-next] net: phy: Add Wake-on-LAN driver for Microsemi PHYs.
From: Raju Lakkaraju @ 2016-10-05  8:49 UTC (permalink / raw)
  To: netdev; +Cc: f.fainelli, Allan.Nielsen, andrew, Raju Lakkaraju

From: Raju Lakkaraju <Raju.Lakkaraju@microsemi.com>

Wake-on-LAN (WoL) is an Ethernet networking standard that allows 
a computer/device to be turned on or awakened by a network message.

VSC8531 PHY can support this feature configure by driver set function.
WoL status get by driver get function.

Tested on Beaglebone Black with VSC 8531 PHY.

Signed-off-by: Raju Lakkaraju <Raju.Lakkaraju@microsemi.com>

---

All the review comments updated and resending for review.

Change set:
v1:
- Initial version of Wake-on-LAN (WoL) driver.
v2:
- As per review comments, code optimized.

---

 drivers/net/phy/mscc.c | 128 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 128 insertions(+)

diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c
index a17573e..77a6671 100644
--- a/drivers/net/phy/mscc.c
+++ b/drivers/net/phy/mscc.c
@@ -13,6 +13,7 @@
 #include <linux/phy.h>
 #include <linux/of.h>
 #include <dt-bindings/net/mscc-phy-vsc8531.h>
+#include <linux/netdevice.h>
 
 enum rgmii_rx_clock_delay {
 	RGMII_RX_CLK_DELAY_0_2_NS = 0,
@@ -37,6 +38,7 @@ enum rgmii_rx_clock_delay {
 
 #define MII_VSC85XX_INT_MASK		  25
 #define MII_VSC85XX_INT_MASK_MASK	  0xa000
+#define MII_VSC85XX_INT_MASK_WOL	  0x0040
 #define MII_VSC85XX_INT_STATUS		  26
 
 #define MSCC_PHY_WOL_MAC_CONTROL          27
@@ -52,6 +54,17 @@ enum rgmii_rx_clock_delay {
 #define RGMII_RX_CLK_DELAY_MASK		  0x0070
 #define RGMII_RX_CLK_DELAY_POS		  4
 
+#define MSCC_PHY_WOL_LOWER_MAC_ADDR	  21
+#define MSCC_PHY_WOL_MID_MAC_ADDR	  22
+#define MSCC_PHY_WOL_UPPER_MAC_ADDR	  23
+#define MSCC_PHY_WOL_LOWER_PASSWD	  24
+#define MSCC_PHY_WOL_MID_PASSWD		  25
+#define MSCC_PHY_WOL_UPPER_PASSWD	  26
+
+#define MSCC_PHY_WOL_MAC_CONTROL	  27
+#define SECURE_ON_ENABLE		  0x8000
+#define SECURE_ON_PASSWD_LEN_4		  0x4000
+
 /* Microsemi PHY ID's */
 #define PHY_ID_VSC8531			  0x00070570
 #define PHY_ID_VSC8541			  0x00070770
@@ -81,6 +94,117 @@ static int vsc85xx_phy_page_set(struct phy_device *phydev, u8 page)
 	return rc;
 }
 
+static int vsc85xx_wol_set(struct phy_device *phydev,
+			   struct ethtool_wolinfo *wol)
+{
+	int rc;
+	u16 reg_val;
+	u8  i;
+	u16 pwd[3] = {0, 0, 0};
+	struct ethtool_wolinfo *wol_conf = wol;
+	u8 *mac_addr = phydev->attached_dev->dev_addr;
+
+	mutex_lock(&phydev->lock);
+	rc = vsc85xx_phy_page_set(phydev, MSCC_PHY_PAGE_EXTENDED_2);
+	if (rc != 0)
+		goto out_unlock;
+
+	if (wol->wolopts & WAKE_MAGIC) {
+		/* Store the device address for the magic packet */
+		for (i = 0; i < ARRAY_SIZE(pwd); i++)
+			pwd[i] = mac_addr[5 - (i * 2 + 1)] << 8 |
+				 mac_addr[5 - i * 2];
+		phy_write(phydev, MSCC_PHY_WOL_LOWER_MAC_ADDR, pwd[0]);
+		phy_write(phydev, MSCC_PHY_WOL_MID_MAC_ADDR, pwd[1]);
+		phy_write(phydev, MSCC_PHY_WOL_UPPER_MAC_ADDR, pwd[2]);
+	} else {
+		phy_write(phydev, MSCC_PHY_WOL_LOWER_MAC_ADDR, 0);
+		phy_write(phydev, MSCC_PHY_WOL_MID_MAC_ADDR, 0);
+		phy_write(phydev, MSCC_PHY_WOL_UPPER_MAC_ADDR, 0);
+	}
+
+	if (wol_conf->wolopts & WAKE_MAGICSECURE) {
+		for (i = 0; i < ARRAY_SIZE(pwd); i++)
+			pwd[i] = wol_conf->sopass[5 - (i * 2 + 1)] << 8 |
+				 wol_conf->sopass[5 - i * 2];
+		phy_write(phydev, MSCC_PHY_WOL_LOWER_PASSWD, pwd[0]);
+		phy_write(phydev, MSCC_PHY_WOL_MID_PASSWD, pwd[1]);
+		phy_write(phydev, MSCC_PHY_WOL_UPPER_PASSWD, pwd[2]);
+	} else {
+		phy_write(phydev, MSCC_PHY_WOL_LOWER_PASSWD, 0);
+		phy_write(phydev, MSCC_PHY_WOL_MID_PASSWD, 0);
+		phy_write(phydev, MSCC_PHY_WOL_UPPER_PASSWD, 0);
+	}
+
+	reg_val = phy_read(phydev, MSCC_PHY_WOL_MAC_CONTROL);
+	if (wol_conf->wolopts & WAKE_MAGICSECURE)
+		reg_val |= SECURE_ON_ENABLE;
+	else
+		reg_val &= ~SECURE_ON_ENABLE;
+	phy_write(phydev, MSCC_PHY_WOL_MAC_CONTROL, reg_val);
+
+	rc = vsc85xx_phy_page_set(phydev, MSCC_PHY_PAGE_STANDARD);
+	if (rc != 0)
+		goto out_unlock;
+
+	if (wol->wolopts & WAKE_MAGIC) {
+		/* Enable the WOL interrupt */
+		reg_val = phy_read(phydev, MII_VSC85XX_INT_MASK);
+		reg_val |= MII_VSC85XX_INT_MASK_WOL;
+		rc = phy_write(phydev, MII_VSC85XX_INT_MASK, reg_val);
+		if (rc != 0)
+			goto out_unlock;
+	} else {
+		/* Disable the WOL interrupt */
+		reg_val = phy_read(phydev, MII_VSC85XX_INT_MASK);
+		reg_val &= (~MII_VSC85XX_INT_MASK_WOL);
+		rc = phy_write(phydev, MII_VSC85XX_INT_MASK, reg_val);
+		if (rc != 0)
+			goto out_unlock;
+	}
+	/* Clear WOL iterrupt status */
+	reg_val = phy_read(phydev, MII_VSC85XX_INT_STATUS);
+
+out_unlock:
+	mutex_unlock(&phydev->lock);
+
+	return rc;
+}
+
+static void vsc85xx_wol_get(struct phy_device *phydev,
+			    struct ethtool_wolinfo *wol)
+{
+	int rc;
+	u16 reg_val;
+	u8  i;
+	u16 pwd[3] = {0, 0, 0};
+	struct ethtool_wolinfo *wol_conf = wol;
+
+	mutex_lock(&phydev->lock);
+	rc = vsc85xx_phy_page_set(phydev, MSCC_PHY_PAGE_EXTENDED_2);
+	if (rc != 0)
+		goto out_unlock;
+
+	reg_val = phy_read(phydev, MSCC_PHY_WOL_MAC_CONTROL);
+	if (reg_val & SECURE_ON_ENABLE)
+		wol_conf->wolopts |= WAKE_MAGICSECURE;
+	if (wol_conf->wolopts & WAKE_MAGICSECURE) {
+		pwd[0] = phy_read(phydev, MSCC_PHY_WOL_LOWER_PASSWD);
+		pwd[1] = phy_read(phydev, MSCC_PHY_WOL_MID_PASSWD);
+		pwd[2] = phy_read(phydev, MSCC_PHY_WOL_UPPER_PASSWD);
+		for (i = 0; i < ARRAY_SIZE(pwd); i++) {
+			wol_conf->sopass[5 - i * 2] = pwd[i] & 0x00ff;
+			wol_conf->sopass[5 - (i * 2 + 1)] = (pwd[i] & 0xff00)
+							    >> 8;
+		}
+	}
+
+	rc = vsc85xx_phy_page_set(phydev, MSCC_PHY_PAGE_STANDARD);
+
+out_unlock:
+	mutex_unlock(&phydev->lock);
+}
+
 static u8 edge_rate_magic_get(u16 vddmac,
 			      int slowdown)
 {
@@ -301,6 +425,8 @@ static struct phy_driver vsc85xx_driver[] = {
 	.suspend	= &genphy_suspend,
 	.resume		= &genphy_resume,
 	.probe          = &vsc85xx_probe,
+	.set_wol        = &vsc85xx_wol_set,
+	.get_wol        = &vsc85xx_wol_get,
 },
 {
 	.phy_id		= PHY_ID_VSC8541,
@@ -318,6 +444,8 @@ static struct phy_driver vsc85xx_driver[] = {
 	.suspend	= &genphy_suspend,
 	.resume		= &genphy_resume,
 	.probe          = &vsc85xx_probe,
+	.set_wol        = &vsc85xx_wol_set,
+	.get_wol        = &vsc85xx_wol_get,
 }
 
 };
-- 
2.7.4

^ permalink raw reply related

* Re: [PATCH v7 net-next] net: phy: Add Edge-rate driver for Microsemi PHYs.
From: Raju Lakkaraju @ 2016-10-05  8:36 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: netdev, devicetree, f.fainelli, Allan.Nielsen
In-Reply-To: <20161004143450.GP11677@lunn.ch>

Hi Andrew,

Thank you for review comment.

On Tue, Oct 04, 2016 at 04:34:50PM +0200, Andrew Lunn wrote:
> EXTERNAL EMAIL
> 
> 
> > v7:
> > - As per review comment, Removed '-'s (minus) sign in Edge rate table.
> 
> Still no exact match on the table.
> 
> So if i specify a voltage of 3301, 53% slowdown it looks i will
> actually get 0% slowdown and no error message. That is not very
> helpful.
> 

According to my understanding, User should choose the right VDDMAC voltage
(i.e. 3.3V or 2.5V or 1.8V or 1.5V).

Do you want me to add an error trace which will inform the user that the 
configured values can not be supported - or if the driver should pick 
the "closest" value it can support (or both).

Please suggest me.

>         Andrew

---
Thanks,
Raju.

^ permalink raw reply

* Intel Ethernet driver igb causes huge latencies with cyclictest (rt-tests)
From: Koehrer Mathias (ETAS/ESW5) @ 2016-10-05  8:29 UTC (permalink / raw)
  To: netdev@vger.kernel.org

Hi all,

I noticed that with fairly new versions of the Linux kernel, the igb driver
causes huge latencies with the cyclictest in a RT_PREEMPT environment.
The root cause seems to be the number of interrupts that are used for the igb
NIC devices as multiple of these irqs may occur at the same time (see below).

With the kernel 4.6.7-rt14 the igb uses 9 (!) irqs per NIC on an Intel Core i7 PC (x86-64):
E.g. eth2, and eth2-TxRx-0, eth2-TxRx-1, ... , eth2-TxRx-7.

Running the very same machine with kernel 3.18.27-rt27 there are only 2 irqs:
eth2 and eth2-TxRx0

The issue with the many irqs is now that they are all fired roughly the same time
even if the link is down as nothing is connected to the NIC.
I analyzed the execution of the cyclictest tool using the kernel tracer on kernel 4.6.7-rt14:

kworker/-5       0dN.h2.. 1504647372us : sched_wakeup: comm=cyclictest pid=5887 prio=19 target_cpu=000
kworker/-5       0dN.h3.. 1504647374us : sched_wakeup: comm=irq/54-eth2-TxR pid=5883 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647375us : sched_wakeup: comm=irq/53-eth2-TxR pid=5882 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647377us : sched_wakeup: comm=irq/52-eth2-TxR pid=5881 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647378us : sched_wakeup: comm=irq/51-eth2-TxR pid=5880 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647380us : sched_wakeup: comm=irq/50-eth2-TxR pid=5879 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647381us : sched_wakeup: comm=irq/49-eth2-TxR pid=5878 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647382us : sched_wakeup: comm=irq/48-eth2-TxR pid=5877 prio=49 target_cpu=000
kworker/-5       0dN.h3.. 1504647383us : sched_wakeup: comm=irq/47-eth2-TxR pid=5876 prio=49 target_cpu=000
kworker/-5       0d...2.. 1504647384us : sched_switch: prev_comm=kworker/0:0 prev_pid=5 prev_prio=120 prev_state=R+ ==> next_comm=cyclictest next_pid=5887 next_prio=19

Here it can be clearly seen that eight irqs from the igb are coming in at the same time.
This leads to a fairly long phase of running in irq mode which hurts the real time latency.

In my setup I have no cable connected to the eth2,
I do a 
# modprobe igb
# ifconfig eth2 up 192.168.100.111

I did multiple tests with analyzing and modifying the igb driver.
The function "igb_watchdog_task" seems to be the root cause of the issue.
Whenever I disable this function the cyclictest shows great results.

There has been lengthy discussion on that topic on the rt-users mailing list:
http://marc.info/?t=147454836600003&r=1&w=2 

My question is now:
How can I either use only 1 irq per NIC using the igb driver or how can 
the driver be reorganized to let the watchdog task trigger the irqs alternately.

Thanks for any feedback

Regards

Mathias

^ permalink raw reply

* Re: net-next tree broken with CONFIG_NETFILTER_INGRESS=n
From: David Miller @ 2016-10-05  8:01 UTC (permalink / raw)
  To: marcel; +Cc: netdev, aconole, fw, pablo
In-Reply-To: <57588F77-89EA-4BAF-8B11-E45D22B49968@holtmann.org>

From: Marcel Holtmann <marcel@holtmann.org>
Date: Wed, 5 Oct 2016 09:48:42 +0200

> I really wonder what is going on here. Normally if you break the
> build, you fix it. However it seems nobody really cares enough. If I
> am not mistaken, then this patch broke it:

The people who can work on and merge the fix are travelling and
conferencing in Tokyo right now, that's why this wasn't fixed
instantaneously.

^ permalink raw reply

* Re: net-next tree broken with CONFIG_NETFILTER_INGRESS=n
From: Marcel Holtmann @ 2016-10-05  7:48 UTC (permalink / raw)
  To: Network Development, David S. Miller, Aaron Conole,
	Florian Westphal, Pablo Neira Ayuso
In-Reply-To: <E3004E95-F774-457E-9BA8-FA29A72BE035@holtmann.org>

Hi Dave,

> the net-next tree is broken since a few days now when CONFIG_NETFILTER_INGRESS=n is set.
> 
>  CC      net/netfilter/core.o
> In file included from ./include/linux/linkage.h:4:0,
>                 from ./include/linux/kernel.h:6,
>                 from net/netfilter/core.c:10:
> net/netfilter/core.c: In function ‘nf_set_hooks_head’:
> net/netfilter/core.c:96:30: error: ‘struct net_device’ has no member named ‘nf_hooks_ingress’
>   rcu_assign_pointer(reg->dev->nf_hooks_ingress, entry);
>                              ^
> ./include/linux/compiler.h:299:17: note: in definition of macro ‘WRITE_ONCE’
>  union { typeof(x) __val; char __c[1]; } __u = \

I really wonder what is going on here. Normally if you break the build, you fix it. However it seems nobody really cares enough. If I am not mistaken, then this patch broke it:

commit e3b37f11e6e4e6b6f02cc762f182ce233d2c1c9d
Author: Aaron Conole <aconole@bytheb.org>
Date:   Wed Sep 21 11:35:07 2016 -0400

    netfilter: replace list_head with single linked list
    
    The netfilter hook list never uses the prev pointer, and so can be trimmed to
    be a simple singly-linked list.

It is funny that it would have been obvious to test CONFIG_NETFILTER_INGRESS=n since there is an ifdef right in the first hunk of the patch.

        struct netdev_queue __rcu *ingress_queue;
 #ifdef CONFIG_NETFILTER_INGRESS
-       struct list_head        nf_hooks_ingress;
+       struct nf_hook_entry __rcu *nf_hooks_ingress;
 #endif

Regards

Marcel

^ permalink raw reply

* Re: [PATCH net-next 2/2] net: phy: Add PHY Auto/Mdi/Mdix set driver for Microsemi PHYs.
From: Andrew Lunn @ 2016-10-05  7:18 UTC (permalink / raw)
  To: Raju Lakkaraju, Florian Fainelli; +Cc: netdev, f.fainelli, Allan.Nielsen
In-Reply-To: <20161004143122.GC29274@microsemi.com>

> > > +     phydev->mdix = ETH_TP_MDI_AUTO;
> > 
> > Humm, interesting. The only other driver supporting mdix is the
> > Marvell one. It does not do this, it leaves it to its default value of
> > ETH_TP_MDI_INVALID. It does however interpret ETH_TP_MDI_INVALID as
> > meaning as ETH_TP_MDI_AUTO.
> > 
> > There needs to be consistency here. You either need to do the same as
> > the Marvell driver, or you need to modify the Marvell driver to also
> > set phydev->mdix to ETH_TP_MDI_AUTO.
> > 
> In Ethtool two variable i.e. eth_tp_mdix_ctrl, eth_tp_mdix use to update
> the status. But, driver header is having one variable i.e. mdix.
> Driver header should also have another variabl like mdix_ctrl.
> Then, Ethtool can get/set the Auto MDIX/MDI.
> In case, mdix is not configure with ETH_TP_MDI_AUTO, Ethtool shows error as
> "setting MDI not supported"
> 
> Please suggest me if you have any better method to fix this issue.

Maybe we should add a new flag for the .flags member of the
phy_driver. If PHY_HAS_MDIX is set, the phy core will set phydev->mdix
to ETH_TP_MDI_AUTO?

Florian, what do you think?

	 Andrew

^ permalink raw reply

* Re: [PATCH net] Panic when tc_lookup_action_n finds a partially initialized action.
From: Krister Johansen @ 2016-10-05  6:52 UTC (permalink / raw)
  To: Cong Wang
  Cc: Krister Johansen, Jamal Hadi Salim,
	Linux Kernel Network Developers
In-Reply-To: <CAM_iQpX1a1=3PmMAwMRDXpL3qjAskQ990FdxgyCg4T5p4=8G7Q@mail.gmail.com>

On Mon, Oct 03, 2016 at 11:22:33AM -0700, Cong Wang wrote:
> Please try the attached patch. I also convert the read path to RCU
> to avoid a possible deadlock. A quick test shows no lockdep splat.

I tried this patch, but it doesn't solve the problem.  I got a panic on
my very first try:

  SYSTEM MAP: /boot/System.map-4.7.5-1.el7.x86_64
DEBUG KERNEL: /usr/lib/debug/lib/modules/4.7.5-1.el7.x86_64/vmlinux (4.7.5-1.el7.x86_64)
    DUMPFILE: ./vmcore  [PARTIAL DUMP]
        CPUS: 4
        DATE: Tue Oct  4 22:43:45 2016
      UPTIME: 00:02:32
LOAD AVERAGE: 0.20, 0.14, 0.06
       TASKS: 1637
     RELEASE: 4.7.5-1.el7.x86_64
     VERSION: #1 SMP Tue Oct 4 21:58:08 PDT 2016
     MACHINE: x86_64  (3392 Mhz)
      MEMORY: 4 GB
       PANIC: "BUG: unable to handle kernel NULL pointer dereference at           (null)"
         PID: 20151
     COMMAND: "test"
        TASK: ffff880138f89480  [THREAD_INFO: ffff88009f450000]
         CPU: 2
       STATE: TASK_RUNNING (PANIC)

PID: 20151  TASK: ffff880138f89480  CPU: 2   COMMAND: "test"
 #0 [ffff88009f453368] machine_kexec at ffffffff8105c2db
 #1 [ffff88009f4533c8] __crash_kexec at ffffffff81111ca2
 #2 [ffff88009f453498] crash_kexec at ffffffff81111d9c
 #3 [ffff88009f4534b8] oops_end at ffffffff810309d1
 #4 [ffff88009f4534e0] no_context at ffffffff8106a5de
 #5 [ffff88009f453540] __bad_area_nosemaphore at ffffffff8106a92e
 #6 [ffff88009f453590] bad_area at ffffffff81081b45
 #7 [ffff88009f4535b8] __do_page_fault at ffffffff8106b42d
 #8 [ffff88009f453620] trace_do_page_fault at ffffffff8106b5a3
 #9 [ffff88009f453658] do_async_page_fault at ffffffff81063dda
#10 [ffff88009f453670] async_page_fault at ffffffff81735af8
    [exception RIP: tcf_hash_check+18]
    RIP: ffffffff81649772  RSP: ffff88009f453720  RFLAGS: 00010246
    RAX: 0000000000000000  RBX: 0000000000000001  RCX: 0000000000000001
    RDX: ffff8801297ee440  RSI: 0000000000000000  RDI: 0000000000000000
    RBP: ffff88009f453738   R8: ffffffffa04020f0   R9: ffff88009f453770
    R10: ffffffff8164a6a1  R11: ffff880129621f00  R12: ffff8801297ee440
    R13: ffff8800ba0f9940  R14: ffff880093cd3e6c  R15: 0000000000000000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
#11 [ffff88009f453740] tcf_mirred_init at ffffffffa04011cc [act_mirred]
#12 [ffff88009f4537c8] tcf_action_init_1 at ffffffff8164a7c9
#13 [ffff88009f453868] tcf_action_init at ffffffff8164a881
#14 [ffff88009f4539c0] tcf_exts_validate at ffffffff8164868a
#15 [ffff88009f4539e8] u32_set_parms at ffffffffa04153f2 [cls_u32]
#16 [ffff88009f453a60] u32_change at ffffffffa0416bc4 [cls_u32]
#17 [ffff88009f453b50] tc_ctl_tfilter at ffffffff8164900d
#18 [ffff88009f453c48] rtnetlink_rcv_msg at ffffffff8162b8f4
#19 [ffff88009f453cc0] netlink_rcv_skb at ffffffff81650b77
#20 [ffff88009f453ce8] rtnetlink_rcv at ffffffff8162b848
#21 [ffff88009f453d00] netlink_unicast at ffffffff81650531
#22 [ffff88009f453d48] netlink_sendmsg at ffffffff8165091e
#23 [ffff88009f453dc8] sock_sendmsg at ffffffff815fcae8
#24 [ffff88009f453de8] SYSC_sendto at ffffffff815fcfa2
#25 [ffff88009f453f18] sys_sendto at ffffffff815fdb4e
#26 [ffff88009f453f28] do_syscall_64 at ffffffff81003b12
    RIP: 00000000004cbfba  RSP: 000000c8200a4eb8  RFLAGS: 00000212
    RAX: ffffffffffffffda  RBX: 000000c820000180  RCX: 00000000004cbfba
    RDX: 000000000000008c  RSI: 000000c82007a900  RDI: 0000000000000007
    RBP: 0000000000000000   R8: 000000c8200fd844   R9: 000000000000000c
    R10: 0000000000000000  R11: 0000000000000212  R12: 000000c82007a900
    R13: 0000000000000003  R14: 0012492492492492  R15: 0000000000000039
    ORIG_RAX: 000000000000002c  CS: 0033  SS: 002b

The problem here is the same as before: by using RCU the race isn't
fixed because the module is still discoverable from act_base before the
pernet initialization is completed.

You can see from the trap frame that the first two arguments to
tcf_hash_check were 0.  It couldn't look up the correct per-subsystem
pointer because the id hadn't yet been registered.

> diff --git a/net/sched/act_api.c b/net/sched/act_api.c
> index d09d068..4aac846 100644
> --- a/net/sched/act_api.c
> +++ b/net/sched/act_api.c
>  int tcf_register_action(struct tc_action_ops *act,
>  			struct pernet_operations *ops)
> @@ -341,22 +356,23 @@ int tcf_register_action(struct tc_action_ops *act,
>  	if (!act->act || !act->dump || !act->init || !act->walk || !act->lookup)
>  		return -EINVAL;
>  
> -	write_lock(&act_mod_lock);
> +	mutex_lock(&act_mod_lock);
>  	list_for_each_entry(a, &act_base, head) {
>  		if (act->type == a->type || (strcmp(act->kind, a->kind) == 0)) {
> -			write_unlock(&act_mod_lock);
> +			mutex_unlock(&act_mod_lock);
>  			return -EEXIST;
>  		}
>  	}
> -	list_add_tail(&act->head, &act_base);
> -	write_unlock(&act_mod_lock);
> +	list_add_tail_rcu(&act->head, &act_base);
>  
>  	ret = register_pernet_subsys(ops);
>  	if (ret) {
> -		tcf_unregister_action(act, ops);
> +		__tcf_unregister_action(act);
> +		mutex_unlock(&act_mod_lock);
>  		return ret;
>  	}
>  
> +	mutex_unlock(&act_mod_lock);
>  	return 0;
>  }

If lookups use rcu, then the list_add_tail_rcu() has to come after
register_pernet_subsys() returns success.

>  EXPORT_SYMBOL(tcf_register_action);
> @@ -364,20 +380,13 @@ EXPORT_SYMBOL(tcf_register_action);
>  int tcf_unregister_action(struct tc_action_ops *act,
>  			  struct pernet_operations *ops)
>  {
> -	struct tc_action_ops *a;
>  	int err = -ENOENT;
>  
> +	mutex_lock(&act_mod_lock);
>  	unregister_pernet_subsys(ops);
> +	err = __tcf_unregister_action(act);
> +	mutex_unlock(&act_mod_lock);
>  
> -	write_lock(&act_mod_lock);
> -	list_for_each_entry(a, &act_base, head) {
> -		if (a == act) {
> -			list_del(&act->head);
> -			err = 0;
> -			break;
> -		}
> -	}
> -	write_unlock(&act_mod_lock);
>  	return err;
>  }

Similarly, unregistering the pernet_subsystem before ensuring that the
action has been removed from act_base leads to another version of this
race on module unload.  Presumably you need to wait for the rcu grace
period to elapse upon removal before it's actually safe to unregister
the subsystem, since any callers with references to the action will have
the potential for a similar NULL deference if their per-net id suddenly
expires.

>  EXPORT_SYMBOL(tcf_unregister_action);
> @@ -388,15 +397,15 @@ static struct tc_action_ops *tc_lookup_action_n(char *kind)
>  	struct tc_action_ops *a, *res = NULL;
>  
>  	if (kind) {
> -		read_lock(&act_mod_lock);
> -		list_for_each_entry(a, &act_base, head) {
> +		rcu_read_lock();
> +		list_for_each_entry_rcu(a, &act_base, head) {
>  			if (strcmp(kind, a->kind) == 0) {
>  				if (try_module_get(a->owner))
>  					res = a;
>  				break;
>  			}
>  		}
> -		read_unlock(&act_mod_lock);
> +		rcu_read_unlock();
>  	}
>  	return res;
>  }
> @@ -407,15 +416,15 @@ static struct tc_action_ops *tc_lookup_action(struct nlattr *kind)
>  	struct tc_action_ops *a, *res = NULL;
>  
>  	if (kind) {
> -		read_lock(&act_mod_lock);
> -		list_for_each_entry(a, &act_base, head) {
> +		rcu_read_lock();
> +		list_for_each_entry_rcu(a, &act_base, head) {
>  			if (nla_strcmp(kind, a->kind) == 0) {
>  				if (try_module_get(a->owner))
>  					res = a;
>  				break;
>  			}
>  		}
> -		read_unlock(&act_mod_lock);
> +		rcu_read_unlock();
>  	}
>  	return res;
>  }

Given the fact that RCU tolerates inherent races, but another trip
around the modprobe loop blocks the caller, and forks an unnecessary
process, it's not clear to me that converting this to RCU makes it
simpler, or is the right tool for this particular job.

After testing it, I'm not convinced that this is any less complicated
than the approach that I proposed.

Thanks,

-K

^ permalink raw reply

* Re: [PATCH net] Add netdev all_adj_list refcnt propagation to fix panic
From: David Ahern @ 2016-10-05  6:32 UTC (permalink / raw)
  To: David Miller, acollins; +Cc: netdev, vfalico, nikolay
In-Reply-To: <20161004.020628.353742496666781216.davem@davemloft.net>

On 10/4/16 3:06 PM, David Miller wrote:
> Applied and queued up for -stable, thanks.

While our original problem was fixed by this patch, Roopa found another series of commands where it fails to properly do dev_put so a followup is needed. 

^ permalink raw reply

* [GIT] Networking
From: David Miller @ 2016-10-05  5:44 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


1) BBR TCP congestion control, from Neal Cardwell, Yuchung Cheng and
   co. at Google.  https://lwn.net/Articles/701165/

2) Do TCP Small Queues for retransmits, from Eric Dumazet.

3) Support collect_md mode for all IPV4 and IPV6 tunnels, from Alexei
   Starovoitov.

4) Allow cls_flower to classify packets in ip tunnels, from Amir
   Vadai.

5) Support DSA tagging in older mv88e6xxx switches, from Andrew Lunn.

6) Support GMAC protocol in iwlwifi mwm, from Ayala Beker.

7) Support ndo_poll_controller in mlx5, from Calvin Owens.

8) Move VRF processing to an output hook and allow l3mdev to be
   loopback, from David Ahern.

9) Support SOCK_DESTROY for UDP sockets.  Also from David Ahern.

10) Congestion control in RXRPC, from David Howells.

11) Support geneve RX offload in ixgbe, from Emil Tantilov.

12) When hitting pressure for new incoming TCP data SKBs, perform a partial
    rathern than a full purge of the OFO queue (which could be huge).  From
    Eric Dumazet.

13) Convert XFRM state and policy lookups to RCU, from Florian Westphal.

14) Support RX network flow classification to igb, from Gangfeng Huang.

15) Hardware offloading of eBPF in nfp driver, from Jakub Kicinski.

16) New skbmod packet action, from Jamal Hadi Salim.

17) Remove some inefficiencies in snmp proc output, from Jia He.

18) Add FIB notifications to properly propagate route changes to
    hardware which is doing forwarding offloading.  From Jiri Pirko.

19) New dsa driver for qca8xxx chips, from John Crispin.

20) Implement RFC7559 ipv6 router solicitation backoff, from Maciej
    Żenczykowski.

21) Add L3 mode to ipvlan, from Mahesh Bandewar.

22) Support 802.1ad in mlx4, from Moshe Shemesh.

23) Support hardware LRO in mediatek driver, from Nelson Chang.

24) Add TC offloading to mlx5, from Or Gerlitz.

25) Convert various drivers to ethtool ksettings interfaces, from
    Philippe Reynes.

26) TX max rate limiting for cxgb4, from Rahul Lakkireddy.

27) NAPI support for ath10k, from Rajkumar Manoharan.

28) Support XDP in mlx5, from Rana Shahout and Saeed Mahameed.

29) UDP replicast support in TIPC, from Richard Alpe.

30) Per-queue statistics for qed driver, from Sudarsana Reddy Kalluru.

31) Support BQL in thunderx driver, from Sunil Goutham.

32) TSO support in alx driver, from Tobias Regnery.

33) Add stream parser engine and use it in kcm.

34) Support async DHCP replies in ipconfig module, from Uwe
    Kleine-König.

35) DSA port fast aging for mv88e6xxx driver, from Vivien Didelot.

Please pull, thanks a lot!

The following changes since commit c8d2bc9bc39ebea8437fd974fdbc21847bb897a3:

  Linux 4.8 (2016-10-02 16:24:33 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 

for you to fetch changes up to 03a1eabc3f54469abd4f1784182851b2e29630cc:

  Merge branch 'mlxsw-fixes' (2016-10-04 20:28:10 -0400)

----------------------------------------------------------------
Aaron Conole (5):
      netfilter: call nf_hook_ingress with rcu_read_lock
      netfilter: Remove explicit rcu_read_lock in nf_hook_slow
      netfilter: Only allow sane values in nf_register_net_hook
      netfilter: nf_queue: whitespace cleanup
      netfilter: replace list_head with single linked list

Aaron Yue (1):
      samples/bpf: add verifier tests for the helper access to the packet

Adam Barth (1):
      samples/bpf: fix bpf_perf_event_output prototype

Akeem Abodunrin (1):
      i40e: Increase minimum number of allocated VSI

Alan Brady (4):
      i40e: fix lookup table when RSS disabled/enabled
      i40e: fix setting user defined RSS hash key
      i40e: fix "dump port" command when NPAR enabled
      i40e: fix deleting mac filters

Alan Cox (2):
      llc: switch type to bool as the timeout is only tested versus 0
      6pack: fix buffer length mishandling

Alex Vesker (1):
      net/mlx5: Modify RQ bitmask from mlx5 ifc

Alexander Aring (3):
      mac802154: set phy net namespace for new ifaces
      6lowpan: ndisc: no overreact if no short address is available
      fakelb: fix schedule while atomic

Alexander Duyck (9):
      bnx2x: Add support for segmentation of tunnels with outer checksums
      i40e: Limit TX descriptor count in cases where frag size is greater than 16K
      ixgbe: Allow setting multiple queues when SR-IOV is enabled
      ixgbe: Limit reporting of redirection table if SR-IOV is enabled
      ixgbe: Support 4 queue RSS on VFs with 1 or 2 queue RSS on PF
      i40e: Fix Flow Director raw_buf cleanup
      i40e/i40evf: Add txring_txq function to match fm10k and ixgbe
      i40e: Split Flow Director descriptor config into separate function
      i40e: Strip out debugfs hook for Flow Director filter programming

Alexandre TORGUE (3):
      net: ethernet: dwmac: add Ethernet glue logic for stm32 chip
      Documentation: Bindings: Add STM32 DWMAC glue
      net: ethernet: stmmac: add support of Synopsys 3.50a MAC IP

Alexei Starovoitov (11):
      bpf: allow helpers access the packet directly
      bpf: allow bpf_get_prandom_u32() to be used in tracing
      bpf: support 8-byte metafield access
      bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type
      bpf: perf_event progs should only use preallocated maps
      perf, bpf: add perf events core support for BPF_PROG_TYPE_PERF_EVENT programs
      samples/bpf: add perf_event+bpf example
      ip_tunnel: add collect_md mode to IPIP tunnel
      ip6_tunnel: add collect_md mode to IPv6 tunnels
      samples/bpf: extend test_tunnel_bpf.sh with IPIP test
      samples/bpf: add comprehensive ipip, ipip6, ip6ip6 test

Alexey Khoroshilov (1):
      net: mvmdio: do not clk_disable_unprepare() NULL clock

Amir Vadai (4):
      net/ip_tunnels: Introduce tunnel_id_to_key32() and key32_to_tunnel_id()
      net/dst: Utility functions to build dst_metadata without supplying an skb
      net/sched: cls_flower: Classify packet in ip tunnels
      net/sched: Introduce act_tunnel_key

Amitkumar Karwar (9):
      mwifiex: fix failed to reconnect after interface disabled/enabled
      mwifiex: remove misleading disconnect message
      mwifiex: add CHAN_REGION_CFG command
      mwifiex: add custom regulatory domain support
      mwifiex: add PCIe function level reset support
      mwifiex: PCIe8997 chip specific handling
      mwifiex: handle error if IRQ request fails in mwifiex_sdio_of()
      mwifiex: correction in Rx STBC field of htcapinfo
      mwifiex: code rearrangement in mwifiex_usb_host_to_card()

Andrew Collins (1):
      net: Add netdev all_adj_list refcnt propagation to fix panic

Andrew Jeffery (2):
      net/faraday: Separate rx page storage from rxdesc
      net/faraday: Make EDO{R,T}R bits configurable

Andrew Lunn (15):
      batman-adv: Handle parent interfaces in a different netns
      batman-adv: Suppress debugfs entries for netns's
      batman-adv: add B.A.T.M.A.N. IV bat_gw_dump implementations
      batman-adv: add B.A.T.M.A.N. Dump BLA claims via netlink
      batman-adv: Indicate netlink socket can be used with netns.
      net: phy: Sort Makefile and Kconfig
      net: phy: Kconfig: Remove redundant "Support for"
      dsa: mv88e6xxx: Timeout based on iterations, not time
      dsa: mv88e6xxx: Use mv88e6xx_wait in mv88e6xxx_update()
      dsa: mv88e6xxx: Make mv88e6xxx_wait() timeout verbose
      net: dsa: Allow the DSA driver to indicate the tag protocol
      net: dsa: mv88e6xxx: Fix support for DSA tagging for older switches.
      dsa: mv88e6xxx: Delete ppu timer when removing module
      net: dsa: mv88e6xxx: Add helper for accessing port registers
      net: dsa: mv88e6xxx: Convert flag bits to unsigned long long

Andrey Vagin (1):
      netlink: don't forget to release a rhashtable_iter structure

Anjali Singhai Jain (1):
      i40e: Fix a bug where a client close can be called before an open is complete

Antonio Quartulli (4):
      batman-adv: make the GW selection class algorithm specific
      batman-adv: make GW election code protocol specific
      batman-adv: B.A.T.M.A.N. V - implement GW selection logic
      batman-adv: disable sysfs knobs when GW-mode is not implemented

Appana Durga Kedareswara Rao (4):
      net: Add mask for Control register 10Mbps speed
      Documentation: DT: net: Add Xilinx gmiitorgmii converter device tree binding documentation
      net: phy: Add gmiitorgmii converter support
      net: phy: Update copyright info

Arek Lichwa (1):
      Bluetooth: Fix NULL pointer dereference in mgmt context

Arend Van Spriel (6):
      brcmfmac: add support for bcm4339 chip with modalias sdio:c00v02D0d4339
      brcmfmac: sdio: shorten retry loop in brcmf_sdio_kso_control()
      brcmfmac: rework pointer trickery in brcmf_proto_bcdc_query_dcmd()
      brcmfmac: fix memory leak in brcmf_flowring_add_tdls_peer()
      brcmfmac: initialize variable in brcmf_sdiod_regrl()
      brcmfmac: remove worker from .ndo_set_mac_address() callback

Arik Nemtsov (1):
      iwlwifi: move BIOS MCC retrieval to common code

Aristeu Rozanski (2):
      mac802154: don't warn on unsupported frames
      mac802154: use rate limited warnings for malformed frames

Arnd Bergmann (15):
      net/xgene: fix error handling during reset
      net_sched: fix use of uninitialized ethertype variable in cls_flower
      ravb: avoid unused function warnings
      qede: hide 32-bit compile warning
      net: xgene: fix backward compatibility fix
      rxrpc: fix undefined behavior in rxrpc_mark_call_released
      perf, bpf: fix conditional call to bpf_overflow_handler
      ptp: ixp46x: remove NO_IRQ handling
      bcma: use of_dma_configure() to set initial dma mask
      Bluetooth: add WCNSS dependency for HCI driver
      nfp: bpf: improve handling for disabled BPF syscall
      net: rtnl: avoid uninitialized data in IFLA_VF_VLAN_LIST handling
      cxgb4: unexport cxgb4_dcb_enabled
      net/mlx5e: shut up maybe-uninitialized warning
      mlxsw: spectrum_router: avoid potential uninitialized data usage

Artemy Kovalyov (1):
      net/mlx5: Update struct mlx5_ifc_xrqc_bits

Ashok Raj Nagarajan (2):
      ath10k: fix sending frame in management path in push txq logic
      ath10k: fix reporting channel survey data

Avinash Dayanand (4):
      i40e: Force register writes to mitigate sync issues with iwarp VF driver
      i40e: Don't notify client of VF reset during VF creation
      i40e: Correcting mutex usage in client code
      i40evf: Open RDMA Client after reset

Aviv Heller (9):
      net/mlx5: Add HW interfaces used by LAG
      net/mlx5: Implement RoCE LAG feature
      net/mlx5: Get RoCE netdev
      net/mlx5e: Avoid port remapping of mlx5e netdev TISes
      net/mlx5: LAG and SRIOV cannot be used together
      net/mlx5: LAG demux flow table support
      net/mlx5: Add LAG flow steering namespace
      net/mlx5: Vport LAG creation support
      net/mlx5: Configure IB devices according to LAG state

Aviya Erenfeld (3):
      mac80211: refactor monitor representation in sdata
      mac80211: add support for MU-MIMO air sniffer
      iwlwifi: mvm: add support for MU-MIMO air sniffer

Avrahams Stern (1):
      iwlwifi: mvm: Add support for RRM by scan

Ayala Beker (10):
      iwlwifi: mvm: support GMAC protocol
      cfg80211: add start / stop NAN commands
      mac80211: add boilerplate code for start / stop NAN
      cfg80211: add add_nan_func / del_nan_func
      cfg80211: allow the user space to change current NAN configuration
      cfg80211: provide a function to report a match for NAN
      cfg80211: Provide an API to report NAN function termination
      mac80211: implement nan_change_conf
      mac80211: Implement add_nan_func and rm_nan_func
      mac80211: Add API to report NAN function match

Baoyou Xie (18):
      mISDN: mark symbols static where possible
      ath9k: mark ath_fill_led_pin() static
      brcmfmac: add missing header dependencies
      lan78xx: mark symbols static where possible
      net: arc_emac: mark arc_mdio_reset() static
      qed: add missing header dependencies
      qede: mark qede_set_features() static
      qed: mark symbols static where possible
      phy: mark lan88xx_suspend() static
      be2net: mark symbols static where possible
      net/mlx5: clean function declarations in eswitch.c up
      net: hisilicon: mark symbols static where possible
      net: hip04: mark tx_done() static
      net: mvneta: mark symbols static where possible
      cxgb4: mark symbols static where possible
      net: bcmgenet: remove unused function in bcmgenet.c
      cxgb4: mark cxgb_setup_tc() static
      net: ethernet: mediatek: mark symbols static where possible

Bart Van Assche (1):
      Bluetooth: btusb, hci_intel: Fix wait_on_bit_timeout() return value checks

Ben Greear (4):
      ath10k: improve logging message
      ath10k: fix typo in logging message
      ath10k: document cycle count related counters
      ath10k: support up to 64 vdevs

Benjamin Poirier (1):
      vmxnet3: Wake queue from reset work

Bert Kenward (8):
      sfc: update MCDI protocol headers
      sfc: allow asynchronous MCDI without completion function
      sfc: retrieve second word of datapath capabilities
      sfc: use new performance based event queue init
      sfc: set interrupt moderation via MCDI
      sfc: get timer configuration from adapter
      sfc: check MTU against minimum threshold
      sfc: check async completer is !NULL before calling

Bhaktipriya Shridhar (8):
      bonding: Remove deprecated create_singlethread_workqueue
      net: pegasus: Remove deprecated create_singlethread_workqueue
      fs/afs/vlocation: Remove deprecated create_singlethread_workqueue
      fs/afs/rxrpc: Remove deprecated create_singlethread_workqueue
      fs/afs/callback: Remove deprecated create_singlethread_workqueue
      fs/afs/flock: Remove deprecated create_singlethread_workqueue
      cfg80211: Remove deprecated create_singlethread_workqueue
      Bluetooth: Remove deprecated create_singlethread_workqueue

Bimmy Pujari (3):
      i40e/i40evf-Bump version from 1.6.11 to 1.6.12
      i40evf: remove unnecessary error checking against i40evf_up_complete
      i40e/i40evf: Changed version to 1.6.16

Bjorn Andersson (2):
      Bluetooth: Add HCI device identifier for Qualcomm SMD
      Bluetooth: Introduce Qualcomm WCNSS SMD based HCI driver

Bob Copeland (3):
      ath9k: fix misleading indent
      ath9k: remove repetitions of mask array size
      mwifiex: fix error handling in mwifiex_create_custom_regdomain

Brendan Gregg (1):
      samples/bpf: add sampleip example

Brenden Blanco (1):
      net/mlx4_en: protect ring->xdp_prog with rcu_read_lock

Calvin Owens (1):
      mlx5: Add ndo_poll_controller() implementation

Carolyn Wyborny (6):
      i40e: Allow RSS Hash set with less than four parameters
      i40e: refactor tail_bump check
      i40e: Fix byte ordering in ARP NS code for X722
      i40e: Add support for HMC resource and profile for X722
      i40e: Fix to check for NULL
      i40e: Fix for extra byte swap in tunnel setup

Catherine Sullivan (3):
      i40e/i40evf: Reset VLAN filter count when resetting
      i40e: reset RX csum error stat with other pf stats
      i40e: Check client is open before calling client ops

Cathy Luo (2):
      mwifiex: fix kernel crash for USB chipsets
      mwifiex: fix race condition causing tx timeout

Chaehyun Lim (2):
      ath10k: remove unused variable ar_pci
      ath6kl: fix return value in ath6kl_wmi_set_pvb_cmd

Christian Engelmayer (2):
      rtlwifi: rtl8192de: Fix leak in _rtl92de_read_adapter_info()
      rtlwifi: rtl8723ae: Fix leak in _rtl8723e_read_adapter_info()

Christophe Jaillet (6):
      mwifiex: fix the length parameter of a memset
      mwifiex: simplify length computation for some memset
      rt2x00usb: Fix error return code
      mwifiex: scan: Simplify code
      sctp: Remove some redundant code
      ptp: Fix resource leak in case of error

Christophe Leroy (3):
      net: fs_enet: merge NAPI RX and NAPI TX
      net: fs_enet: don't unmap DMA when packet len is below copybreak
      net: fs_enet: make rx_copybreak value configurable

Colin Ian King (24):
      net: phy: initialize rc to zero to avoid returning garbage value
      net: hns: mdio->irq is an array, so no need to check if it is null
      net: atm: remove redundant null pointer check on dev->name
      net: ethernet: nuvoton: fix spelling mistake: "aligment" -> "alignment"
      netfilter: fix spelling mistake: "delimitter" -> "delimiter"
      wan/fsl_ucc_hdlc: fix spelling mistake "prameter" -> "parameter"
      net: ucc_geth: fix spelling mistake "propperty" -> "property"
      cxgb4/cxgb4vf: fix spelling mistake "provissioned" -> "provisioned"
      drivers: net: stmmac: fix spelling mistake "mulitcast" -> "multicast"
      ath10k: fix spelling mistake "montior" -> "monitor"
      mwifiex: fix missing break on IEEE80211_STYPE_ACTION case
      zd1211rw: fix spelling mistake "firmeware" -> "firmware"
      net: x25: remove null checks on arrays calling_ae and called_ae
      via-velocity: remove null pointer check on array tdinfo->skb_dma
      ath10k: fix memory leak on caldata on error exit path
      rtl8xxxu: fix spelling mistake "firmare" -> "firmware"
      atm: iphase: fix newline escape and minor tweak to source formatting
      mwifiex: fix null pointer deference when adapter is null
      net: r6040: add in missing white space in error message text
      Bluetooth: btqca: remove null checks on edl->data as it is an array
      i40e: avoid potential null pointer dereference when assigning len
      cxgb4: fix signed wrap around when decrementing index idx
      mlxsw: spectrum: remove redundant check if err is zero
      cxgb4: fix -ve error check on a signed iq

Dan Carpenter (1):
      i40e: remove a stray unlock

Dan Kephart (1):
      ath6kl: enable firmware crash dumps on the AR6004

Daniel Borkmann (17):
      bpf: use skb_pkt_type_ok helper in bpf_skb_change_type
      bpf: add bpf_skb_change_tail helper
      bpf: enable event output helper also for xdp types
      bpf: get rid of cgroup helper related ifdefs
      bpf: fix range propagation on direct packet access
      bpf: minor cleanups in helpers
      bpf: add BPF_SIZEOF and BPF_FIELD_SIZEOF macros
      bpf: add own ctx rewriter on ifindex for clsact progs
      bpf: add BPF_CALL_x macros for declaring helpers
      bpf: drop unnecessary test in cls_bpf_classify and tcf_bpf
      bpf: use skb_at_tc_ingress helper in tcf_bpf
      bpf, verifier: enforce larger zero range for pkt on overloading stack buffs
      bpf: direct packet write and access for helpers for clsact progs
      bpf: add test cases for direct packet access
      bpf: use skb_to_full_sk helper in bpf_skb_under_cgroup
      bpf: use bpf_get_smp_processor_id_proto instead of raw one
      bpf: add helper to invalidate hash

Daniel Wagner (2):
      ath10k: use complete() instead complete_all()
      carl9170: Fix wrong completion usage

Dave Ertman (1):
      i40e: Fix static analysis tool warning

Dave Watson (1):
      net: strparser: fix strparser sk_user_data check

David Ahern (17):
      net: Remove fib_local variable
      net: diag: support SOCK_DESTROY for UDP sockets
      net: mpls: Fixups for GSO
      net: veth: Set features for MPLS
      net: flow: Add l3mdev flow update
      net: l3mdev: Add hook to output path
      net: l3mdev: Allow the l3mdev to be a loopback
      net: vrf: Flip IPv4 output path from FIB lookup hook to out hook
      net: vrf: Flip IPv6 output path from FIB lookup hook to out hook
      net: l3mdev: remove redundant calls
      net: ipv4: Remove l3mdev_get_saddr
      net: ipv6: Remove l3mdev_get_saddr6
      net: l3mdev: Remove l3mdev_fib_oif
      net: l3mdev: remove get_rtable method
      net: flow: Remove FLOWI_FLAG_L3MDEV_SRC flag
      net: vrf: Remove RT_FL_TOS
      net: l3mdev: Remove netif_index_is_l3_master

David Decotigny (1):
      mlx4: remove unused fields

David Howells (130):
      rxrpc: Remove RXRPC_CALL_PROC_BUSY
      rxrpc: Tidy up the rxrpc_call struct a bit
      rxrpc: When clearing a socket, clear the call sets in the right order
      rxrpc: Drop channel number field from rxrpc_call struct
      rxrpc: Use a tracepoint for skb accounting debugging
      rxrpc: Set connection expiry on idle, not put
      rxrpc: Calculate serial skew on packet reception
      rxrpc: Perform terminal call ACK/ABORT retransmission from conn processor
      rxrpc: Fix conn-based retransmit
      rxrpc: Make /proc/net/rxrpc_calls safer
      rxrpc: Dup the main conn list for the proc interface
      rxrpc: Improve management and caching of client connection objects
      rxrpc: Fix a potential NULL-pointer deref in rxrpc_abort_calls
      rxrpc: Calls should only have one terminal state
      rxrpc: Trace rxrpc_call usage
      afs: Miscellaneous simple cleanups
      afs: Need linux/random.h
      rxrpc: Provide a way for AFS to ask for the peer address of a call
      rxrpc: Use call->peer rather than going to the connection
      rxrpc: Pass struct socket * to more rxrpc kernel interface functions
      rxrpc: Don't expose skbs to in-kernel users [ver #2]
      rxrpc: Fix uninitialised variable warning
      rxrpc: The client call state must be changed before attachment to conn
      rxrpc: Randomise epoch and starting client conn ID values
      rxrpc: Don't change the epoch
      rxrpc: Split sendmsg from packet transmission code
      rxrpc: Rearrange net/rxrpc/sendmsg.c
      rxrpc Move enum rxrpc_command to sendmsg.c
      rxrpc: Whitespace cleanup
      rxrpc: Delete unused rxrpc_kernel_free_skb()
      rxrpc: Improve the call tracking tracepoint
      rxrpc: Use call->peer rather than call->conn->params.peer
      rxrpc: Cache the security index in the rxrpc_call struct
      rxrpc: Pass the connection pointer to rxrpc_post_packet_to_call()
      rxrpc: Use rxrpc_is_service_call() rather than rxrpc_conn_is_service()
      rxrpc: Calls shouldn't hold socket refs
      rxrpc: Fix returns of call completion helpers
      rxrpc: Add tracepoint for working out where aborts happen
      rxrpc: Fix ASSERTCMP and ASSERTIFCMP to handle signed values
      rxrpc: Update protocol definitions slightly
      rxrpc: Convert rxrpc_local::services to an hlist
      rxrpc: Remove skb_count from struct rxrpc_call
      rxrpc: Add tracepoints to record received packets and end of data_ready
      rxrpc: Preallocate peers, conns and calls for incoming service requests
      rxrpc: Rewrite the data and ack handling code
      rxrpc: Make sure we initialise the peer hash key
      rxrpc: Add missing wakeup on Tx window rotation
      rxrpc: The IDLE ACK packet should use rxrpc_idle_ack_delay
      rxrpc: Requeue call for recvmsg if more data
      rxrpc: Add missing unlock in rxrpc_call_accept()
      rxrpc: Use skb->len not skb->data_len
      rxrpc: Allow tx_winsize to grow in response to an ACK
      rxrpc: Adjust the call ref tracepoint to show kernel API refs
      rxrpc: Fix prealloc refcounting
      rxrpc: Correctly initialise, limit and transmit call->rx_winsize
      rxrpc: Create an address for sendmsg() to bind unbound socket with
      rxrpc: Don't specify protocol to when creating transport socket
      rxrpc: Use rxrpc_extract_addr_from_skb() rather than doing this manually
      rxrpc: Add IPv6 support
      rxrpc: Make IPv6 support conditional on CONFIG_IPV6
      rxrpc: Remove some whitespace.
      rxrpc: Move the check of rx_pkt_offset from rxrpc_locate_data() to caller
      rxrpc: Check the return value of rxrpc_locate_data()
      rxrpc: Fix handling of the last packet in rxrpc_recvmsg_data()
      rxrpc: Record calls that need to be accepted
      rxrpc: Purge the to_be_accepted queue on socket release
      rxrpc: Fix the putting of client connections
      rxrpc: Call rxrpc_release_call() on error in rxrpc_new_client_call()
      rxrpc: Fix unexposed client conn release
      rxrpc: Fix the parsing of soft-ACKs
      rxrpc: Fix retransmission algorithm
      rxrpc: Don't transmit an ACK if there's no reason set
      rxrpc: Be consistent about switch value in rxrpc_send_call_packet()
      rxrpc: Fix the basic transmit DATA packet content size at 1412 bytes
      rxrpc: Print the packet type name in the Rx packet trace
      rxrpc: Add some additional call tracing
      rxrpc: Add connection tracepoint and client conn state tracepoint
      rxrpc: Add a tracepoint to follow the life of a packet in the Tx buffer
      rxrpc: Add a tracepoint to log received ACK packets
      rxrpc: Add a tracepoint to log ACK transmission
      rxrpc: Add a tracepoint to follow packets in the Rx buffer
      rxrpc: Add a tracepoint to follow what recvmsg does
      rxrpc: Remove printks from rxrpc_recvmsg_data() to fix uninit var
      rxrpc: Improve skb tracing
      rxrpc: Add config to inject packet loss
      rxrpc: Don't store the rxrpc header in the Tx queue sk_buffs
      rxrpc: Add re-sent Tx annotation
      rxrpc: Add per-peer RTT tracker
      rxrpc: Send pings to get RTT data
      rxrpc: Expedite ping response transmission
      rxrpc: Add ktime_sub_ms()
      rxrpc: Obtain RTT data by requesting ACKs on DATA packets
      rxrpc: Reduce the number of ACK-Requests sent
      rxrpc: Reduce the number of PING ACKs sent
      rxrpc: Preset timestamp on Tx sk_buffs
      rxrpc: Don't send an ACK at the end of service call response transmission
      rxrpc: Make sure sendmsg() is woken on call completion
      rxrpc: Should be using ktime_add_ms() not ktime_add_ns()
      rxrpc: Use before_eq() and friends to compare serial numbers
      rxrpc: Need to start the resend timer on initial transmission
      rxrpc: Fix accidental cancellation of scheduled resend by ACK parser
      rxrpc: Fix call timer
      rxrpc: Pass the last Tx packet marker in the annotation buffer
      rxrpc: Don't call the tx_ack tracepoint if don't generate an ACK
      rxrpc: Add a tracepoint for the call timer
      rxrpc: Add data Tx tracepoint and adjust Tx ACK tracepoint
      rxrpc: Add a tracepoint to log injected Rx packet loss
      rxrpc: Add tracepoint for ACK proposal
      rxrpc: Add a tracepoint to log which packets will be retransmitted
      rxrpc: Send an ACK after every few DATA packets we receive
      rxrpc: Send an immediate ACK if we fill in a hole
      rxrpc: Include the last reply DATA serial number in the final ACK
      rxrpc: Reinitialise the call ACK and timer state for client reply phase
      rxrpc: Delay the resend timer to allow for nsec->jiffies conv error
      rxrpc: Generate a summary of the ACK state for later use
      rxrpc: Schedule an ACK if the reply to a client call appears overdue
      rxrpc: Implement slow-start
      rxrpc: Fix exclusive client connections
      rxrpc: Make Tx loss-injection go through normal return and adjust tracing
      rxrpc: When activating client conn channels, do state check inside lock
      rxrpc: Reduce the rxrpc_local::services list to a pointer
      rxrpc: Request more ACKs in slow-start mode
      rxrpc: Note serial number being ACK'd in the congestion management trace
      rxrpc: Actually display the tx_data trace retransmission note
      rxrpc: Switch to Congestion Avoidance mode at cwnd==ssthresh
      rxrpc: Reduce ssthresh to peer's receive window
      rxrpc: The offset field in struct rxrpc_skb_priv is unnecessary
      rxrpc: Remove error from struct rxrpc_skb_priv as it is unused
      rxrpc: Keep the call timeouts as ktimes rather than jiffies
      rxrpc: Fix the call timer handling

David S. Miller (169):
      Merge branch 'be2net-next'
      Merge branch 'ipconfig-improve-dhcp-timeouts'
      Merge branch 'bna-next'
      Merge branch 'qdisc-hashtable'
      Merge branch 'cpsw-refactor'
      Merge branch 'xilinx-gmiitorgmii-converter'
      Merge branch 'sfc-SFN8000-support-improvements'
      Merge tag 'batadv-next-for-davem-20160812' of git://git.open-mesh.org/linux-merge
      Merge branch 'bpf-under-cgroup'
      Merge branch 'bpf-improvements'
      Merge branch 'xgene-next'
      Merge branch 'thunderx-next'
      Merge branch 'net-urb-alloc-failure'
      Merge tag 'mac80211-next-for-davem-2016-08-12' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'proc-per-ns'
      Merge branch 'cxgb4-IFLA_VF_MAC'
      Merge branch 'qed-janitorial'
      Merge branch 'dsa-abstract-PHY-access'
      Merge tag 'batadv-next-for-davem-20160816' of git://git.open-mesh.org/linux-merge
      Merge branch 'strparser'
      Merge git://git.kernel.org/.../davem/net
      Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch 'qed-next'
      Merge branch 'tipc-next'
      Merge branch 'qdisc-hash-fixes'
      Merge branch '1GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch 'qed-link-fixes'
      Merge branch 'flow-dissector-vlan-tag'
      Merge branch 'bridge-vlan-stats-with-flags'
      Merge branch 'bpf-next'
      Merge branch 'cxgb-crypto'
      Merge branch 'rhash-raw-walkers-remove-part-1'
      Merge branch 'phy-next'
      Merge branch 'mv88e6xxx-fix-wait'
      Merge branch 'bcm_sf2-platform-dev'
      Merge branch '10GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch 'tun-cleanups'
      Merge branch '10GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Revert "l2tp: Refactor the codes with existing macros instead of literal number"
      Merge branch 'qed-sriov-legacy'
      Merge branch 'cxgb4-tx-rate-limiting'
      Merge tag 'batadv-next-for-davem-20160822' of git://git.open-mesh.org/linux-merge
      Merge branch 'dsa-fix-MV88E6131-tagging'
      Merge branch 'cpsw-mq'
      Merge tag 'shared-for-4.9-1' of git://git.kernel.org/.../leon/linux-rdma
      Merge branch 'hv_netvsc-cleanups'
      Merge branch 'strp-kcm-fixes'
      Merge tag 'rxrpc-rewrite-20160823-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge tag 'rxrpc-rewrite-20160823-2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'remove-clear_sk'
      Merge tag 'shared-for-4.9-2' of git://git.kernel.org/.../leon/linux-rdma
      Merge branch 'mlxsw-fdb-learning-offload'
      Merge tag 'rxrpc-rewrite-20160824-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge tag 'rxrpc-rewrite-20160824-2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'mlxsw-fw-mark-offload'
      Merge branch 'bcm_sf2-utilize-b53_common'
      Merge branch 'mediatek-pdma-rx'
      Merge branch 'tipc-udp-replicast'
      Merge branch 'strp-generalization'
      Merge git://git.kernel.org/.../davem/net
      Merge branch '100GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge tag 'rxrpc-rewrite-20160830-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'mpls-fragmentation-and-gso-fixes'
      Merge branch 'liquidio-CN23XX-part-1'
      Merge branch 'dsa-mdb-support'
      Merge branch 'ppp-recursion'
      Merge branch 'asix-pm-improvements'
      Merge branch 'stmmac-STM32F429'
      Merge branch 'br-next'
      Merge branch 'bpf-perf-hw-sw-events'
      Merge branch 'tipc-scalable-broadcast-NACK'
      Merge branch 'liquidio-CN23XX-part-2'
      Merge branch 'netns-opt'
      Merge git://git.kernel.org/.../pablo/nf-next
      Merge branch 'mv88e6xxx-isolate-Global2'
      Merge branch 'hso-neatening'
      Merge branch 'mediatek-rx-path-enhancements'
      Merge tag 'rxrpc-rewrite-20160904-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge tag 'rxrpc-rewrite-20160904-2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'qed-get_regs'
      Merge tag 'rxrpc-rewrite-20160907-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge tag 'rxrpc-rewrite-20160907-2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'qed-debug-data-collection'
      Merge branch 'be2net-error-recovery-and-bug-fixes'
      Merge branch 'master' of git://git.kernel.org/.../klassert/ipsec-next
      Merge branch 'ovs-802.1ad'
      Merge branch 'newroute-creation-flags'
      Merge tag 'rxrpc-rewrite-20160908' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'bpf-helper-cleanups'
      Merge branch 'alx-msix'
      Merge branch 'act_tunnel_key'
      Merge branch 'fs_enet-opt'
      Merge branch 'net-is_enabled'
      Merge branch 'mlx5-next'
      Merge branch 'vrf-tx-hook'
      Merge git://git.kernel.org/.../davem/net
      Merge branch 'mlxsw-ethtool'
      Merge branch 'bpf-next'
      Merge branch 'cls_flower-port-masks'
      Merge branch 'libcxgb-next'
      Merge tag 'rxrpc-rewrite-20160913-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge tag 'rxrpc-rewrite-20160913-2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'mediatek-reset-flow'
      Merge branch 'QCA8K'
      Merge branch 'mlx5e-order-0'
      Merge tag 'wireless-drivers-next-for-davem-2016-09-15' of git://git.kernel.org/.../kvalo/wireless-drivers-next
      Merge branch 'ip_tunnel-collect_md'
      Merge branch 'sctp-transmit-errs'
      Merge tag 'mac80211-next-for-davem-2016-09-16' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'net-offloaded-stats'
      Merge branch 'ipvlan-l3'
      Merge branch 'mediatek-hw-lro'
      Merge branch 'net-sched-singly-linked-list'
      Merge tag 'rxrpc-rewrite-20160917-1' of git://git.kernel.org/.../dhowells/linux-fs
      Merge tag 'rxrpc-rewrite-20160917-2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'bnxt_en-next'
      Merge branch 'rhashtable-dups'
      Merge branch 'dsa-set_addr-optional'
      Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth-next
      Merge branch 'bpf-direct-packet-access-improvements'
      Merge branch 'tcp-bbr'
      Merge branch 'mlxse-resource-query'
      Merge branch 'bpf-hw-offload'
      Merge branch 'mlx4-next'
      Merge branch 'vlan_act_modify'
      Merge branch 'cxgb4-tc-offload'
      Merge branch 'mv88e6390-prep'
      Merge branch 'mlx5e-xdp'
      Merge branch 'sctp-align'
      Merge branch 'ftgmac100-ast2500-support'
      Merge tag 'rxrpc-rewrite-20160922-v2' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'mediatek-trgmii'
      Merge git://git.kernel.org/.../davem/net
      Merge branch 'sctp-fix-gap-ack-blocks'
      Merge branch 'mlx5-sriov-vlan-push-pop'
      Merge branch 'dsa-port-fast-ageing'
      Merge branch 'hv_netvsc-next'
      Merge branch 'bpf-helper-improvements'
      Revert "xen-netback: create a debugfs node for hash information"
      Merge branch 'mlx4-vf-vlan-802.1ad'
      Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch 'master' of git://git.kernel.org/.../klassert/ipsec-next
      Merge branch '10GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge tag 'rxrpc-rewrite-20160923' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'thunderx-bql'
      Merge tag 'rxrpc-rewrite-20160924' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge git://git.kernel.org/.../pablo/nf-next
      Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth-next
      Merge branch 'bnx2x-fix-page-allocation-failure'
      Merge branch 'bcmgenet-phydev-revert'
      Merge branch 'mediatek-pdam-lro-fixes'
      Merge branch '1GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch 'fib-offload-notifications'
      Merge branch 'qcom-emac-acpi'
      Merge branch 'dsa-global-cosmetics'
      Merge tag 'wireless-drivers-next-for-davem-2016-09-29' of git://git.kernel.org/.../kvalo/wireless-drivers-next
      Merge tag 'rxrpc-rewrite-20160929' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'net_proc_perf'
      Merge git://git.kernel.org/.../davem/net
      Merge branch 'ovs-mpls'
      Merge tag 'rxrpc-rewrite-20160930' of git://git.kernel.org/.../dhowells/linux-fs
      Merge branch 'qed-qedr-infrastructure'
      Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch '100GbE' of git://git.kernel.org/.../jkirsher/next-queue
      Merge branch 'ncsi-next'
      Merge tag 'mac80211-next-for-davem-2016-10-04' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'mlxsw-fixes'

David Spinadel (1):
      cfg80211: Add support for static WEP in the driver

David Wu (1):
      net: stmmac: dwmac-rk: add pd_gmac support for rk3399

Dean Jenkins (2):
      Bluetooth: Tidy-up coding style in hci_bcsp.c
      Bluetooth: BCSP fails to ACK re-transmitted frames from the peer

Deepak Khungar (1):
      bnxt_en: Support for "ethtool -r" command

Denis Kenzior (3):
      cfg80211: always notify userspace of new wireless netdevs
      cfg80211: always notify userspace when wireless netdev is removed
      nl80211: Allow GET_INTERFACE dumps to be filtered

Dmitry Torokhov (3):
      netns: do not call pernet ops for not yet set up init_net namespace
      proc: make proc entries inherit ownership from parent
      net: make net namespace sysctls belong to container's owner

Dmitry Tunin (1):
      Bluetooth: Add a new 04ca:3011 QCA_ROME device

Don Skidmore (3):
      ixgbe: Fix led interface for X557 devices
      ixgbe: add device to MDIO speed setting
      ixgbe: Add support for new X557 device

Eddie Wai (1):
      bnxt_en: Fixed the VF link status after a link state change

Eduardo Abinader (1):
      ath9k: consider return code on

Edward Cree (3):
      sfc: avoid division by zero
      sfc: include size-binned TX stats on sfn8542q
      sfc: remove duplicate assignment

Elad Raz (1):
      mlxsw: Change the RX LAG hash function from XOR to CRC

Emil Tantilov (10):
      ixgbe: only check Tx queue enablement when debugging
      ixgbevf: change hw_dbg to use netdev_dbg
      ixgbevf: only check Tx queue enablement when debugging
      ixgbe: use atomic bitwise operations when handling reset requests
      ixgbevf: fix incorrect MAC address on load
      ixgbe: add support for geneve Rx offload
      ixgbe: simplify the logic for setting VLAN filtering
      ixgbe: make ixgbe_led_on/off_t_x550em static
      ixgbevf: add spinlocks for MTU change calls
      ixgbe: reset before SRIOV init to avoid mailbox issues

Emmanuel Grumbach (6):
      cfg80211: clarify the requirements of .disconnect()
      iwlwifi: mvm: bump max API to 26
      mac80211: allow using AP_LINK_PS with mac80211-generated TIM IE
      iwlwifi: don't export trace points that are used in iwlwifi only
      iwlwifi: mvm: fix typo in TC_CMD_SEC_KEY_FROM_TABLE
      iwlwifi: mvm: initialise ADD_STA before sending it to the firmware

Eric Bentley (1):
      ath6kl: Allow the radio to report 0 dbm txpower without timing out

Eric Dumazet (25):
      tcp: defer sacked assignment
      tcp: refine tcp_prune_ofo_queue() to not drop all packets
      tcp: md5: remove tcp_md5_hash_header()
      udp: include addrconf.h
      net: ipv4: fix sparse error in fib_good_nh()
      ipv6: udp: remove udp_v6_clear_sk()
      udp: get rid of sk_prot_clear_portaddr_nulls()
      ipv6: tcp: get rid of tcp_v6_clear_sk()
      net: remove clear_sk() method
      tcp: md5: increment sk_drops on syn_recv state
      tcp: md5: add LINUX_MIB_TCPMD5FAILURE counter
      net: minor optimization in qdisc_qstats_cpu_drop()
      tcp: add tcp_add_backlog()
      net: batch calls to flush_all_backlogs()
      ipv4: accept u8 in IP_TOS ancillary data
      ip_tunnel: do not clear l4 hashes
      tcp: better use ooo_last_skb in tcp_data_queue_ofo()
      tcp: fix a stale ooo_last_skb after a replace
      tcp: prepare skbs for better sack shifting
      pkt_sched: fq: use proper locking in fq_dump_stats()
      net_sched: sch_fq: add low_rate_threshold parameter
      tcp: switch back to proper tcp_skb_cb size check in tcp_init()
      tcp: implement TSQ for retransmits
      net_sched: sch_fq: account for schedule/timers drifts
      net: do not export sk_stream_write_space

Eric Garver (2):
      vlan: Check for vlan ethernet types for 8021.q or 802.1ad
      openvswitch: 802.1AD Flow handling, actions, vlan parsing, netlink attributes

Felix Fietkau (3):
      mac80211: remove skb header offset mangling in ieee80211_build_hdr
      ath9k: use ieee80211_tx_status_noskb where possible
      ath9k: improve powersave filter handling

Florian Fainelli (15):
      net: dsa: Export suspend/resume functions
      Documentation: dt: bindings: Update Broadcom 7445 switch document
      net: dsa: bcm_sf2: Make it a real platform device driver
      net: dsa: bcm_sf2: Use device managed helpers
      net: dsa: bcm_sf2: Remove probing through old DSA binding
      net: systemport: Fix ordering in intrl2_*_mask_clear macro
      net: dsa: b53: Initialize ds->ops in b53_switch_alloc
      net: dsa: b53: Prepare to support 7445 switch
      net: dsa: b53: Define SF2 MIB layout
      net: dsa: b53: Add JOIN_ALL_VLAN support
      net: dsa: bcm_sf2: Utilize core B53 driver when possible
      net: dsa: bcm_sf2: Remove duplicate code
      net: dsa: bcm_sf2: Utilize mask clear/set helpers in bcm_sf2_intr_disable
      net: dsa: bcm_sf2: Get VLAN_PORT_MASK from b53_device
      Revert "net: ethernet: bcmgenet: use phydev from struct net_device"

Florian Westphal (34):
      xfrm: state: use hlist_for_each_entry_rcu helper
      xfrm: state: use atomic_inc_not_zero to increment refcount
      xfrm: state: delay freeing until rcu grace period has elapsed
      xfrm: state: add sequence count to detect hash resizes
      xfrm: state: use rcu_deref and assign_pointer helpers
      xfrm: state: don't use lock anymore unless acquire operation is needed
      netfilter: use_nf_conn_expires helper in more places
      ipvs: use nf_ct_kill helper
      xfrm: policy: use rcu versions for iteration and list add/del
      xfrm: policy: prepare policy_bydst hash for rcu lookups
      xfrm: policy: add sequence count to sync with hash resize
      xfrm: policy: use atomic_inc_not_zero in rcu section
      xfrm: policy: make xfrm_policy_lookup_bytype lockless
      xfrm: policy: only use rcu in xfrm_sk_policy_lookup
      xfrm: policy: don't acquire policy lock in xfrm_spd_getinfo
      xfrm: policy: convert policy_lock to spinlock
      xfrm: state: remove per-netns gc task
      netfilter: restart search if moved to other chain
      netfilter: don't rely on DYING bit to detect when destroy event was sent
      netfilter: conntrack: get rid of conntrack timer
      netfilter: evict stale entries on netlink dumps
      netfilter: conntrack: add gc worker to remove timed-out entries
      netfilter: conntrack: resched gc again if eviction rate is high
      netfilter: remove __nf_ct_kill_acct helper
      netfilter: conntrack: remove packet hotpath stats
      pie: use qdisc_dequeue_head wrapper
      sched: don't use skb queue helpers
      sched: remove qdisc arg from __qdisc_dequeue_head
      sched: replace __skb_dequeue with __qdisc_dequeue_head
      sched: add and use qdisc_skb_head helpers
      xfrm: state lookup can be lockless
      netfilter: bridge: add and use br_nf_hook_thresh
      netfilter: call nf_hook_state_init with rcu_read_lock held
      netfilter: evict stale entries when user reads /proc/net/nf_conntrack

Frédéric Dalleau (1):
      Bluetooth: Fix reason code used for rejecting SCO connections

Ganapathi Bhat (5):
      mwifiex: support random MAC address for scanning
      mwifiex: fix radar detection issue
      mwifiex: Command 7 handling for USB chipsets
      mwifiex: firmware name correction for usb8997 chipset
      mwifiex: cfg80211 set_default_mgmt_key handler

Gangfeng Huang (4):
      igb: add support of RX network flow classification
      igb: support RX flow classification by ethertype
      igb: support RX flow classification by VLAN priority
      igb: fix error code in igb_add_ethtool_nfc_entry()

Gao Feng (18):
      rps: Inspect PPTP encapsulated by GRE to get flow hash
      netfilter: conntrack: Only need first 4 bytes to get l4proto ports
      pptp: Refactor the struct and macros of PPTP codes
      l2tp: Refactor the codes with existing macros instead of literal number
      l2tp: Refactor the codes with existing macros instead of literal number
      netfilter: log_arp: Use ARPHRD_ETHER instead of literal '1'
      netfilter: log: Check param to avoid overflow in nf_log_set
      rps: flow_dissector: Add the const for the parameter of flow_keys_have_l4
      netfilter: gre: Use consistent GRE_* macros instead of ones defined by netfilter.
      netfilter: gre: Use consistent GRE and PTTP header structure instead of the ones defined by netfilter
      netfilter: ftp: Remove the useless dlen==0 condition check in find_pattern
      netfilter: ftp: Remove the useless code
      netfilter: Add the missed return value check of register_netdevice_notifier
      netfilter: Add the missed return value check of nft_register_chain_type
      netfilter: Enhance the codes used to get random once
      netfilter: xt_helper: Use sizeof(variable) instead of literal number
      netfilter: xt_TCPMSS: Refactor the codes to decrease one condition check and more readable
      netfilter: seqadj: Fix the wrong ack adjust for the RST packet without ack

Gavin Schenk (1):
      net: fec: set mac address unconditionally

Gavin Shan (9):
      net/faraday: Clear stale interrupts
      net/ncsi: Avoid unused-value build warning from ia64-linux-gcc
      net/ncsi: Introduce NCSI_RESERVED_CHANNEL
      net/ncsi: Don't probe on the reserved channel ID (0x1f)
      net/ncsi: Rework request index allocation
      net/ncsi: Allow to extend NCSI request properties
      net/ncsi: Rework the channel monitoring
      net/ncsi: Introduce ncsi_stop_dev()
      net/faraday: Stop NCSI device on shutdown

Geert Uytterhoeven (2):
      net: ipconfig: Fix NULL pointer dereference on RARP/BOOTP/DHCP timeout
      net: wan: sbni: Spelling s/acknoweledge/acknowledge/, Grammar

Grygorii Strashko (1):
      net: ethernet: ti: cpdma: remove used_desc counter

Guilherme G Piccoli (1):
      i40e: avoid NULL pointer dereference and recursive errors on early PCI error

Guillaume Nault (5):
      ppp: build ifname using unit identifier for rtnl based devices
      ppp: avoid dealock on recursive xmit
      ppp: declare PPP devices as LLTX
      ipv4: fix value of ->nlmsg_flags reported in RTM_NEWROUTE events
      ipv6: report NLM_F_CREATE and NLM_F_EXCL flags in RTM_NEWROUTE events

Guy Mishol (1):
      wl18xx: add time sync configuration api

Hadar Hen Zion (10):
      net/mlx5: Enable setting minimum inline header mode for VFs
      net/mlx5: Update mlx5_ifc.h for vxlan encap/decap
      flow_dissector: For stripped vlan, get vlan info from skb->vlan_tci
      flow_dissector: Get vlan priority in addition to vlan id
      net_sched: flower: Avoid dissection of unmasked keys
      net_sched: flower: Add vlan support
      net_sched: act_vlan: Add priority option
      net/sched: act_tunnel_key: Remove rcu_read_lock protection
      net/sched: cls_flower: Use a proper mask value for enc key id parameter
      net/sched: pkt_cls: change tc actions order to be as the user sets

Haim Dreyfuss (4):
      iwlwifi: pcie: Configure shared interrupt vector in MSIX mode
      iwlwifi: pcie: Set affinity mask for rx interrupt vectors per cpu
      iwlwifi: pcie: replace possible_cpus() with online_cpus() in MSIX mode
      iwlwifi: check for valid ethernet address provided by OEM

Haishuang Yan (1):
      vxlan: Update tx_errors statistics if vxlan_build_skb return err.

Haiyang Zhang (3):
      hv_netvsc: Add query for initial physical link speed
      hv_netvsc: Add handler for physical link speed change
      hv_netvsc: Implement batching of receive completions

Hangbin Liu (2):
      net/multicast: should not send source list records when have filter mode change
      netfilter: physdev: add missed blank

Hans de Goede (1):
      rtl8xxxu: Make rtl8xxxu_ampdu_action less chatty

Hante Meuleman (5):
      brcmfmac: ignore 11d configuration errors
      brcmfmac: remove unnecessary null pointer check
      brcmfmac: fix clearing entry IPv6 address
      brcmfmac: fix out of bound access on clearing wowl wake indicator
      brcmfmac: simplify mapping of auth type

Harini Katakam (1):
      net: macb: Add 64 bit addressing support for GEM

Hariprasad Shenai (10):
      cxgb4: Add control net_device for configuring PCIe VF
      cxgb4/cxgb4vf: Add set VF mac address support
      cxgb4: Add support for dynamic allocation of resources for ULD
      cxgb4: Register changes and fw defines for crypto
      chcr: Support for Chelsio's Crypto Hardware
      crypto: Added Chelsio Menu to the Kconfig file
      cxgb4: Fix issue while re-registering VF mgmt netdev
      cxgb4: Add support for ndo_get_vf_config
      cxgb4vf: don't offload Rx checksums for IPv6 fragments
      chcr/cxgb4i/cxgbit/RDMA/cxgb4: Allocate resources dynamically for all cxgb4 ULD's

Harshitha Ramamurthy (2):
      i40e: Initialize pointer in client_release function
      i40e: Remove 100 Mbps SGMII support for X722

Heinrich Schuchardt (4):
      i40e: use matching format identifiers
      mwifiex: remove superfluous condition
      mwifiex: key_material_v2 remove superfluous condition
      rtlwifi: remove superfluous condition

Henry Tieman (1):
      i40e: removing unreachable code

Herbert Xu (5):
      rhashtable: Remove GFP flag from rhashtable_walk_init
      MAINTAINERS: Add extra rhashtable maintainer
      netlink: Use rhashtable walk interface in diag dump
      rhashtable: Add rhlist interface
      mac80211: Use rhltable instead of rhashtable

Ido Schimmel (18):
      mlxsw: spectrum: Limit number of FDB records per learning session
      mlxsw: spectrum: Make VLAN deletion function symmetric
      mlxsw: spectrum: Don't abort on first error when removing VLANs
      mlxsw: spectrum: Configure learning for VLAN-aware bridge port
      mlxsw: spectrum: Offload learning to the switch ASIC
      mlxsw: spectrum: Remove unnecessary check in FDB processing
      mlxsw: spectrum: Don't set learning when creating vPorts
      switchdev: Support parent ID comparison for stacked devices
      bridge: switchdev: Add forward mark support for stacked devices
      mlxsw: spectrum: Simplify traps definition
      mlxsw: spectrum: Allow different traps to have different actions
      mlxsw: spectrum: Mirror certain packets to CPU
      mlxsw: spectrum: Correctly report autonegotiation
      mlxsw: spectrum: Report link partner's advertised speeds
      mlxsw: spectrum: Report port type according to operational speed
      mlxsw: spectrum: Indicate support of multiple port types
      mlxsw: spectrum: Add support for new ethtool API
      mlxsw: spectrum: Fix sparse warnings

Ido Yariv (1):
      iwlwifi: mvm: Add mem debugfs entry

Ilya Lesokhin (1):
      net/mlx5: Introduce alloc_encap and dealloc_encap commands

Ismael Luceno (1):
      brcmfmac: Add USB ID for Cisco Linksys AE1200

Ivan Khoronzhuk (18):
      net: ethernet: ti: cpsw: simplify submit routine
      net: ethernet: ti: cpsw: remove intr dbg msg from poll handlers
      net: ethernet: ti: cpsw: remove priv from cpsw_get_slave_port() parameters list
      net: ethernet: ti: cpsw: remove clk var from priv
      net: ethernet: ti: cpsw: don't check slave num in runtime
      net: ethernet: ti: cpsw: create common struct to hold shared driver data
      net: ethernet: ti: cpsw: replace pdev on dev
      net: ethernet: ti: cpsw: move links on h/w registers to cpsw_common
      net: ethernet: ti: cpsw: move cpdma resources to cpsw_common
      net; ethernet: ti: cpsw: move irq stuff under cpsw_common
      net: ethernet: ti: cpsw: move platform data and slaves info to cpsw_common
      net: ethernet: ti: cpsw: move napi struct to cpsw_common
      net: ethernet: ti: cpsw: move ale, cpts and drivers params under cpsw_common
      net: ethernet: ti: davinci_cpdma: split descs num between all channels
      net: ethernet: ti: davinci_cpdma: fix locking while ctrl_stop
      net: ethernet: ti: cpsw: add multi queue support
      net: ethernet: ti: davinci_cpdma: move cpdma channel struct macroses to internals
      net: ethernet: ti: cpsw: add ethtool channels support

Ivan Vecera (4):
      bna: remove useless linked list
      bna: change type of bna_id to atomic_t
      bna: remove global bnad_list_mutex
      devlink: remove unused priv_size

Iyappan Subramanian (13):
      drivers: net: xgene: Fix compiler warnings
      drivers: net: xgene: fix: Add dma_unmap_single
      drivers: net: xgene: fix: Delete descriptor rings and buffer pools
      drivers: net: xgene: Fix error deconstruction path
      drivers: net: xgene: Fix RSS indirection table fields
      drivers: net: xgene: Change port init sequence
      drivers: net: xgene: XFI PCS reset when link is down
      drivers: net: xgene: Poll link status via GPIO
      dtb: xgene: Add rxlos-gpios property
      Documentation: dtb: xgene: Add rxlos GPIO mapping
      drivers: net: xgene: Fix backward compatibility
      dtb: xgene: Fix backward compatibility
      drivers: net: xgene: Fix MSS programming

Jack Morgenstein (1):
      net/mlx4_core: Fix deadlock when switching between polling and event fw commands

Jacob Keller (26):
      i40evf: add missing rtnl_lock() around i40evf_set_interrupt_capability
      i40e: don't allow reduction of channels below active FD rules
      i40e: move i40e_vsi_config_rss below i40e_get_rss_aq
      i40e: fix broken i40e_config_rss_aq function
      i40e: use configured RSS key and lookup table in i40e_vsi_config_rss
      i40e: use alloc_workqueue instead of create_singlethread_workqueue
      fm10k: fix PCI device enable_cnt leak in .io_slot_reset
      fm10k: use software values when checking for Tx hangs in hot path
      fm10k: use variadic form of alloc_workqueue
      fm10k: remove fm10k_get_reta_size from namespace
      fm10k: prefer READ_ONCE instead of ACCESS_ONCE
      fm10k: NAPI polling routine must return actual work done
      fm10k: print error code when pci_enable_device_mem fails during probe
      fm10k: don't continue probe if PCI device not in normal IO state
      fm10k: don't try to stop queues if we've lost hw_addr
      fm10k: rework vxlan_port offload before adding geneve support
      fm10k: add support for Rx offloads on one Geneve tunnel
      fm10k: remove unnecessary extra parenthesis around ((~value))
      fm10k: don't clear the RXQCTL register when enabling or disabling queues
      fm10k: don't re-map queues when a mailbox message suffices
      i40e: cleanup ATR auto_disable_flags use
      i40e: check conflicting ntuple/sideband rules when re-enabling ATR
      i40evf: support queue-specific settings for interrupt moderation
      igb: restore PPS signal on igb_ptp_reset
      fm10k: use generic ethtool_op_get_ts_info callback
      fm10k: wrap long line for alloc_workqueue

Jakub Kicinski (21):
      add basic register-field manipulation macros
      mt7601u: remove redefinition of GENMASK
      mt7601u: remove unnecessary include
      mt7601u: use linux/bitfield.h
      test_bpf: fix the dummy skb after dissector changes
      net: cls_bpf: add hardware offload
      net: cls_bpf: limit hardware offload by software-only flag
      net: cls_bpf: add support for marking filters as hardware-only
      bpf: don't (ab)use instructions to store state
      bpf: expose internal verfier structures
      bpf: enable non-core use of the verfier
      bpf: recognize 64bit immediate loads as consts
      nfp: add BPF to NFP code translator
      nfp: bpf: add hardware bpf offload
      net: cls_bpf: allow offloaded filters to update stats
      nfp: bpf: allow offloaded filters to update stats
      nfp: bpf: add packet marking support
      net: act_mirred: allow statistic updates from offloaded actions
      nfp: bpf: add support for legacy redirect action
      nfp: bpf: add offload of TC direct action mode
      nfp: bpf: zero extend 4 byte context loads

Jamal Hadi Salim (5):
      net_sched: Introduce skbmod action
      net sched ife action: add 16 bit helpers
      net sched ife action: Introduce skb tcindex metadata encap decap
      net sched: stylistic cleanups
      net sched actions: fix GETing actions

James Morse (1):
      amd-xgbe: Reset running devices after resume from hibernate

Jamie Lentin (1):
      net: mv88e6xxx: Enable PORT_CONTROL_FORWARD_UNKNOWN for DSA-tagged CPU ports

Jason Baron (2):
      bnx2x: allocate mac filtering 'mcast_list' in PAGE_SIZE increments
      bnx2x: allocate mac filtering pending list in PAGE_SIZE increments

Javier Martinez Canillas (23):
      appletalk: use IS_ENABLED() instead of checking for built-in or module
      lec: use IS_ENABLED() instead of checking for built-in or module
      net: use IS_ENABLED() instead of checking for built-in or module
      ipv4: use IS_ENABLED() instead of checking for built-in or module
      l2tp: use IS_ENABLED() instead of checking for built-in or module
      net: sched: use IS_ENABLED() instead of checking for built-in or module
      sctp: use IS_ENABLED() instead of checking for built-in or module
      xfrm: use IS_ENABLED() instead of checking for built-in or module
      3c59x: use IS_ENABLED() instead of checking for built-in or module
      starfire: use IS_ENABLED() instead of checking for built-in or module
      ethernet: amd: use IS_ENABLED() instead of checking for built-in or module
      bnx2: use IS_ENABLED() instead of checking for built-in or module
      sundance: use IS_ENABLED() instead of checking for built-in or module
      net/fsl_pq_mdio: use IS_ENABLED() instead of checking for built-in or module
      i825xx: use IS_ENABLED() instead of checking for built-in or module
      ixgbe: use IS_ENABLED() instead of checking for built-in or module
      net: mvneta: use IS_ENABLED() instead of checking for built-in or module
      natsemi: use IS_ENABLED() instead of checking for built-in or module
      sfc: use IS_ENABLED() instead of checking for built-in or module
      sis900: use IS_ENABLED() instead of checking for built-in or module
      stmmac: use IS_ENABLED() instead of checking for built-in or module
      hamradio: use IS_ENABLED() instead of checking for built-in or module
      iwlegacy: use IS_ENABLED() instead of checking for built-in or module

Jeff Kirsher (1):
      i40e/i40evf: Fix indentation

Jerin Jacob (1):
      net: thunderx: Reset RXQ HW stats when interface is brought down

Jes Sorensen (23):
      rtl8xxxu: Mark 0x20f4:0x648b as tested
      rtl8xxxu: Mark 0x2001:0x3308 as tested
      rtl8xxxu: Fix error handling if rtl8xxxu_init_device() fails
      rtl8xxxu: Add TP-Link TL-WN823N v2 to list of supported devices
      rtl8xxxu: Add TX page defines for 8723b
      rtl8xxxu: Switch 8723a to use new rtl8xxxu_init_queue_reserved_page() routine
      rtl8xxxu: Switch 8192cu/8188cu devices to use rtl8xxxu_init_queue_reserved_page()
      rtl8xxxu: Remove now obsolete rtl8xxxu_old_init_queue_reserved_page()
      rtl8xxxu: Simplify code setting TX buffer boundary
      rtl8xxxu: Add bit definitions for REG_FPGA0_TX_INFO
      rtl8xxxu: Add interrupt bit definitions for gen2 parts
      rtl8xxxu: Use flag to indicate whether device has TX report timer support
      rtl8xxxu: Convert flags in rtl8xxxu_fileops to bitflags
      rtl8xxxu: Introduce fops bitflag indicating type of thermal meter
      rtl8xxxu: Simplify calculating of hw value used for setting TX rate
      rtl8xxxu: Determine the need for SGI before handling specific TX desc formats
      rtl8xxxu: Determine need for shore preamble before updating TX descriptors
      rtl8xxxu: Split filling of TX descriptors into separate functions
      rtl8xxxu: Reset device on module unload if still attached
      rtl8xxxu: Implement 8192e specific power down sequence
      rtl8xxxu: Fix off by one error calculating pubq
      rtl8xxxu: Clean up llt_init() API
      rtl8xxxu: Use a struct rtl8xxxu_fileops * in rtl8xxxu_init_device()

Jesper Dangaard Brouer (2):
      mlx4: fix XDP_TX is acting like XDP_PASS on TX ring full
      mlx4: add missed recycle opportunity for XDP_TX on TX failure

Jia He (7):
      net:snmp: Introduce generic interfaces for snmp_get_cpu_field{, 64}
      proc: Reduce cache miss in snmp_seq_show
      proc: Reduce cache miss in snmp6_seq_show
      proc: Reduce cache miss in sctp_snmp_seq_show
      proc: Reduce cache miss in xfrm_statistics_seq_show
      ipv6: Remove useless parameter in __snmp6_fill_statsdev
      net: Suppress the "Comparison to NULL could be written" warnings

Jiri Benc (3):
      openvswitch: mpls: set network header correctly on key extract
      mpls: move mpls_hdr to a common location
      openvswitch: use mpls_hdr

Jiri Kosina (5):
      net: resolve symbol conflicts with generic hashtable.h
      net: sched: convert qdisc linked list to hashtable
      net: fix up a few missing hashtable.h conflict resolutions
      net: sched: fix handling of singleton qdiscs with qdisc_hash
      net: sched: avoid duplicates in qdisc dump

Jiri Pirko (6):
      fib: introduce FIB notification infrastructure
      fib: introduce FIB info offload flag helpers
      mlxsw: spectrum_router: Use FIB notifications instead of switchdev calls
      rocker: use FIB notifications instead of switchdev calls
      switchdev: remove FIB offload infrastructure
      doc: update switchdev L3 section

Joe Perches (6):
      i40e: Remove XSTRINGIFY macro definitions and uses
      hso: Use a more common logging style
      hso: Convert printk to pr_<level>
      qed: Remove OOM messages
      ath10k: spelling and miscellaneous neatening
      rtlwifi: Add switch variable to 'switch case not processed' messages

Joe Stringer (1):
      openvswitch: Free tmpl with tmpl_free.

Joel Stanley (3):
      net/faraday: Adapt for Aspeed SoCs
      net/faraday: Configure old MDIO interface on Aspeed SoCs
      net/faraday: Mask out PHYSTS_CHG interrupt

Johan Hedberg (1):
      Bluetooth: mgmt: Fix sending redundant event for Advertising Instance

Johannes Berg (36):
      nl80211: explicitly check enum nl80211_mesh_power_mode
      mac80211: add support for radiotap timestamp field
      mac80211: send delBA on unexpected BlockAck data frames
      mac80211: send delBA on unexpected BlockAck Request
      mac80211: simplify TDLS RA lookup
      mac80211: remove useless open_count check
      cfg80211: disallow shared key authentication with key index 4
      nl80211: fix connect keys range check
      nl80211: only allow WEP keys during connect command
      cfg80211: wext: only allow WEP keys to be configured before connected
      cfg80211: validate key index better
      cfg80211: reduce connect key caching struct size
      cfg80211: allow connect keys only with default (TX) key
      mac80211: fix possible out-of-bounds access
      mac80211: fix scan completed tracing
      nl80211: always check nla_nest_start() return value
      nl80211: always check nla_put* return values
      mac80211: remove unused assignment
      mac80211: remove pointless chanctx NULL check
      mac80211: remove sta_remove_debugfs driver callback
      cfg80211: remove unnecessary pointer-of
      iwlwifi: mvm: make RSS RX more robust
      iwlwifi: mvm: remove pointless _bh from spinlock in timer
      iwlwifi: mvm: tighten BAID range check
      mac80211_hwsim: statically initialize hwsim_radios list
      iwlwifi: mvm: compare full command ID
      iwlwifi: mvm: make iwl_mvm_update_sta() an inline
      iwlwifi: mvm: document passing unexpected Block Ack Request frames
      iwlwifi: mvm: move AP-specific code to right function
      iwlwifi: mvm: use LIST_HEAD() macro
      iwlwifi: pcie: use LIST_HEAD() macro
      iwlwifi: pcie: avoid variable shadowing in TFD helpers
      iwlwifi: mvm: correct rate_idx bounds-check
      cfg80211: add checks for beacon rate, extend to mesh
      cfg80211: wext: really don't store non-WEP keys
      Merge remote-tracking branch 'net-next/master' into mac80211-next

John Crispin (7):
      Documentation: devicetree: add qca8k binding
      net-next: dsa: add Qualcomm tag RX/TX handler
      net-next: dsa: add new driver for qca8xxx family
      net-next: dsa: fix duplicate invocation of set_addr()
      net-next: dsa: make the set_addr() operation optional
      net-next: dsa: b53: remove empty set_addr() stub
      net-next: dsa: qca8k: remove empty set_addr() stub

Jon Cooper (1):
      sfc: work around TRIGGER_INTERRUPT command not working on SFC9140

Jon Paul Maloy (5):
      tipc: make bearer packet filtering generic
      tipc: ensure that link congestion and wakeup use same criteria
      tipc: transfer broadcast nacks in link state messages
      tipc: rate limit broadcast retransmissions
      tipc: send broadcast nack directly upon sequence gap detection

Josef Bacik (1):
      bpf: allow access into map value arrays

Jouni Malinen (1):
      MAINTAINERS: hostap: Mark the Host AP driver obsolete

Juergen Gross (1):
      xen-netback: switch to threaded irq for control ring

Julia Lawall (17):
      net/fsl: use of_property_read_bool
      net: dsa: b53: constify b53_io_ops structures
      xfrm: constify xfrm_replay structures
      net: ethernet: et131x: constify ethtool_ops structures
      net: bcmgenet: constify ethtool_ops structures
      net: hisilicon: constify ethtool_ops structures
      dwc_eth_qos: constify ethtool_ops structures
      net: systemport: constify ethtool_ops structures
      net: mediatek: constify ethtool_ops structures
      r8152: constify ethtool_ops structures
      net: axienet: constify ethtool_ops structures
      ath: constify local structures
      iwlegacy: constify local structures
      rtlwifi: rtl818x: constify local structures
      hisilicon: constify net_device_ops structures
      dwc_eth_qos: constify net_device_ops structures
      l2tp: constify net_device_ops structures

Julian Anastasov (1):
      neigh: allow admin to set NUD_STALE

KOVACS Krisztian (1):
      netfilter: xt_socket: fix transparent match for IPv6 request sockets

Kai-Heng Feng (1):
      Bluetooth: btusb: Add support for 0cf3:e009

Kalle Valo (7):
      Merge tag 'iwlwifi-next-for-kalle-2016-08-30-2' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge branch 'ath-current' into ath-next
      Merge ath-next from git://git.kernel.org/.../kvalo/ath.git
      Merge tag 'iwlwifi-next-for-kalle-2016-09-15-2' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge tag 'iwlwifi-next-for-kalle-2016-09-19-2' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge tag 'iwlwifi-next-for-kalle-2015-09-26' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge ath-next from git://git.kernel.org/.../kvalo/ath.git

Kamal Heib (1):
      net/mlx4_en: Fix wrong indentation

Karthik D A (2):
      mwifiex: Fixed endianness problem for big endian platform
      mwifiex: add region code information in debugfs

LABBE Corentin (2):
      net: bfin_mac: Fix a few spelling fixes
      atm: fore200e: Do not drop const qualifier

Lance Richardson (2):
      openvswitch: avoid deferred execution of recirc actions
      gre: use nla_get_be32() to extract flowinfo

Larry Finger (5):
      rtlwifi: Fix missing country code for Great Britain
      Bluetooth: btrtl: Add RTL8822BE Bluetooth device
      rtl8xxxu: Stop log spam from each successful interrupt
      rtlwifi: Add HAL_DEF_WOWLAN case to *_get_hw() routines
      rtlwifi: Add explicit values to hw_variables enum

Laura Abbott (1):
      Bluetooth: btwilink: Save the packet type before sending

Laura Garcia Liebana (7):
      netfilter: nf_tables: add hash expression
      netfilter: nf_tables: add number generator expression
      netfilter: nft_numgen: rename until attribute by modulus
      netfilter: nft_hash: Add hash offset value
      netfilter: nft_hash: fix hash overflow validation
      netfilter: nft_numgen: add number generation offset
      netfilter: nf_tables: validate maximum value of u32 netlink attributes

Lawrence Brakmo (1):
      tcp: Change txhash on every SYN and RTO retransmit

Lazar Alexei (1):
      wil6210: Fix driver down flow

Leon Romanovsky (1):
      net/mlx4_core: Use RCU to perform radix tree lookup for SRQ

Liad Kaufman (9):
      iwlwifi: mvm: re-aggregate shared queue after unsharing
      iwlwifi: mvm: keep track of tid associated with each queue
      iwlwifi: mvm: re-assign old queues after hw restart in dqa mode
      iwlwifi: mvm: use defines for SCD_CONFIG_CMD enablement
      iwlwifi: mvm: support txq tid owner change
      iwlwifi: mvm: don't free queue after delba in dqa
      iwlwifi: mvm: fix pending frames tracking on tx resp
      iwlwifi: mvm: free reserved queue on STA removal
      iwlwifi: mvm: remove variable shadowing

Lihong Yang (1):
      i40evf: remove unnecessary error checking against i40e_shutdown_adminq

Linus Lüssing (3):
      batman-adv: Remove unused primary_if and bat_priv variables
      batman-adv: Introduce forward packet creation helper
      batman-adv: Use bitwise instead of arithmetic operator for flags

Linus Walleij (2):
      net: smsc911x: augment device tree bindings
      net: smsc911x: request and deassert optional RESET GPIO

Lior David (6):
      wil6210: change HALP logging category to IRQ
      wil6210: fix wiphy registration sequence
      wil6210: fix protection of wil->scan_request
      wil6210: align to latest auto generated wmi.h
      wil6210: extract firmware capabilities from FW file
      wil6210: extract firmware version from file header

Liping Zhang (14):
      netfilter: nf_dup4: remove redundant checksum recalculation
      netfilter: conntrack: simplify the code by using nf_conntrack_get_ht
      netfilter: nft_queue: check the validation of queues_total and queuenum
      netfilter: nf_conntrack: remove unused ctl_table_path member in nf_conntrack_l3proto
      netfilter: nf_queue: get rid of dependency on IP6_NF_IPTABLES
      netfilter: nft_numgen: fix race between num generate and store it
      netfilter: nft_queue: add _SREG_QNUM attr to select the queue number
      netfilter: nf_queue: improve queue range support for bridge family
      netfilter: nf_tables: improve nft payload fast eval
      netfilter: nf_tables: check tprot_set first when we use xt.thoff
      netfilter: nft_ct: unnecessary to require dir when use ct l3proto/protocol
      netfilter: nft_ct: report error if mark and dir specified simultaneously
      netfilter: nft_log: complete NFTA_LOG_FLAGS attr support
      netfilter: nf_log: get rid of XT_LOG_* macros

Loic Poulain (3):
      Bluetooth: hci_bcm: Change protocol name
      Bluetooth: hci_uart: Add Nokia Protocol identifier
      Bluetooth: hci_uart: Add Marvell support

Lorenzo Colitti (4):
      net: diag: slightly refactor the inet_diag_bc_audit error checks.
      net: diag: allow socket bytecode filters to match socket marks
      net: diag: make udp_diag_destroy work for mapped addresses.
      net: inet: diag: expose the socket mark to privileged processes.

Luca Coelho (3):
      cfg80211: add helper to find an IE that matches a byte-array
      iwlwifi: mvm: bail out if CTDP start operation fails
      iwlwifi: remove support for fw older than -17 and -22

Maciej Żenczykowski (2):
      ipv6 addrconf: implement RFC7559 router solicitation backoff
      ipv6 addrconf: remove addrconf_sysctl_hop_limit()

Maharaja Kennadyrajan (2):
      ath10k: hide kernel addresses from logs using %pK format specifier
      ath10k: Added support for extended dbglog module id for 10.4

Mahesh Bandewar (4):
      ipv6: Export p6_route_input_lookup symbol
      net: Add _nf_(un)register_hooks symbols
      ipvlan: Introduce l3s mode
      ipvlan: Fix dependency issue

Maor Gottlieb (2):
      net/mlx5: Introduce sniffer steering hardware capabilities
      net/mlx5: Add sniffer namespaces

Marcel Holtmann (21):
      Bluetooth: Put led_trigger field behind CONFIG_BT_LEDS
      Bluetooth: Add combined LED trigger for controller power
      Bluetooth: Check SOL_HCI for raw socket options
      Bluetooth: Store control socket cookie and comm information
      Bluetooth: Introduce helper to pack mgmt version information
      Bluetooth: Add support for sending MGMT open and close to monitor
      Bluetooth: Add support for sending MGMT commands and events to monitor
      Bluetooth: Use individual flags for certain management events
      Bluetooth: Fix wrong Get Clock Information return parameters
      Bluetooth: Use command status event for Set IO Capability errors
      Bluetooth: Introduce helper functions for socket cookie handling
      Bluetooth: Use numbers for subsystem version string
      Bluetooth: Send control open and close only when cookie is present
      Bluetooth: Assign the channel early when binding HCI sockets
      Bluetooth: Add extra channel checks for control open/close messages
      Bluetooth: Send control open and close messages for HCI raw sockets
      Bluetooth: Handle HCI raw socket transition from unbound to bound
      Bluetooth: Add framework for Extended Controller Information
      Bluetooth: Send control open and close messages for HCI user channels
      Bluetooth: Fix wrong New Settings event when closing HCI User Channel
      Bluetooth: Increase the subsystem minor version number

Marcelo Ricardo Leitner (4):
      sctp: rename WORD_TRUNC/ROUND macros
      sctp: make use of SCTP_TRUNC4 macro
      sctp: fix the handling of SACK Gap Ack blocks
      sctp: improve how SSN, TSN and ASCONF serial are compared

Marco Angaroni (3):
      netfilter: nf_ct_sip: correct parsing of continuation lines in SIP headers
      netfilter: nf_ct_sip: correct allowed characters in Call-ID SIP header
      netfilter: nf_ct_sip: allow tab character in SIP headers

Mark Rustad (4):
      ixgbe: Eliminate useless message and improve logic
      ixgbe: Resolve NULL reference by setting {read, write}_reg_mdi
      ixgbe: Indicate support for pause frames in all cases
      ixgbe: Use MDIO_PRTAD_NONE consistently

Markus Elfring (16):
      fjes: Delete owner assignment
      tun: Use memdup_user() rather than duplicating its implementation
      tun: Rename a jump label in update_filter()
      mlx5/core: Use memdup_user() rather than duplicating its implementation
      ATM-ENI: Use kmalloc_array() in eni_start()
      ATM-ForeRunnerHE: Use kmalloc_array() in he_init_group()
      ATM-iphase: Use kmalloc_array() in tx_init()
      ATM-nicstar: Use kmalloc_array() in get_scq()
      ATM-nicstar: Improve another size determination in get_scq()
      ATM-nicstar: Improve another size determination in ns_init_card()
      ATM-nicstar: Refactor a kmalloc() call in ns_init_card()
      ATM-nicstar: Refactor a dev_alloc_skb() call in dequeue_rx()
      ATM-ZeitNet: Use kmalloc_array() in start_tx()
      ATM-ZeitNet: Improve a size determination in zatm_open()
      ATM-ZeitNet: Replace one kzalloc() call by kcalloc()
      ATM-ZeitNet: Fix indentation for one DPRINTK() call in start_rx()

Markus Pargmann (1):
      batman-adv: iv_ogm, Reduce code duplication

Masahiro Yamada (4):
      ath10k: replace config_enabled() with IS_REACHABLE()
      ath10k: use devm_clk_get() instead of clk_get()
      ath10k: use devm_reset_control_get() instead of reset_control_get()
      ath10k: do not check if reset is NULL

Matthias Schiffer (6):
      batman-adv: netlink: add routing_algo query
      batman-adv: netlink: hardif query
      batman-adv: netlink: add translation table query
      batman-adv: netlink: add originator and neighbor table queries
      batman-adv: add B.A.T.M.A.N. IV bat_{orig, neigh}_dump implementations
      batman-adv: add B.A.T.M.A.N. V bat_{orig, neigh}_dump implementations

Maxim Altshul (4):
      mac80211: mesh: Add support for HW RC implementation
      mac80211: call get_expected_throughput only after adding station
      wlcore: Remove wl pointer from wl_sta structure
      mac80211: RX BA support for sta max_rx_aggregation_subframes

Maya Erez (5):
      wil6210: align to latest auto generated wmi.h
      wil6210: fix HALP handling in case of HALP vote time-out
      wil6210: support rx key setting for all TIDs
      wil6210: fix stop p2p device handling
      wil6210: prevent usage of incorrect TX hwtail

Miaoqing Pan (1):
      ath9k: disable RNG by default

Michael Chan (7):
      bnxt_en: Use RSS flags defined in the bnxt_hsi.h file.
      bnxt_en: Simplify PCI device names and add additinal PCI IDs.
      bnxt_en: Update to firmware interface spec 1.5.1.
      bnxt_en: Fix ethtool -l|-L inconsistent channel counts.
      bnxt_en: Re-arrange bnxt_hwrm_func_qcaps().
      bnxt_en: Call firmware to approve the random VF MAC address.
      bnxt_en: Pad TX packets below 52 bytes.

Michael Ellerman (1):
      net: Remove NO_IRQ from powerpc-only network drivers

Michal Kazior (4):
      ath10k: implement wmi echo command
      ath10k: implement wmi echo event
      ath10k: add wmi command barrier utility
      ath10k: fix spurious tx/rx during boot

Michal Soltys (2):
      net/sched/sch_hfsc.c: keep fsc and virtual times in sync; fix an old bug
      net/sched/sch_hfsc.c: remove unused cl_myfadj

Michał Narajowski (8):
      Bluetooth: Append local name and CoD to Extended Controller Info
      Bluetooth: Add support for local name in scan rsp
      Bluetooth: Add support for appearance in scan rsp
      Bluetooth: Factor appending EIR to separate helper
      Bluetooth: Add supported data types to ext info changed event
      Bluetooth: Fix missing ext info event when setting appearance
      Bluetooth: Set appearance only for LE capable controllers
      Bluetooth: Fix not updating scan rsp when adv off

Mickaël Salaün (1):
      bpf: Set register type according to is_valid_access()

Mitch Williams (5):
      i40e: fix memory leak
      i40evf: report link speed
      i40e: return correct opcode to VF
      i40evf: enable adaptive interrupt throttling
      i40e: don't configure zero-size RSS table

Mohamad Haj Yahia (11):
      net/mlx5: Skip waiting for vf pages in internal error
      net/mlx5: SRIOV core code refactoring
      net/mlx5: Introduce attach/detach to interface API
      net/mlx5: Split the load/unload flow into hardware and software flows
      net/mlx5: Implement SRIOV attach/detach flows
      net/mlx5: Implement eswitch attach/detach flows
      net/mlx5: Align sriov/eswitch modules with the new load/unload flow.
      net/mlx5: Implement vports admin state backup/restore
      net/mlx5e: Implement mlx5e interface attach/detach callbacks
      net/mlx5e: Restore vlan filter after seamless reset
      net/mlx5: Organize device list API in one place

Mohammed Shafi Shajakhan (4):
      ath10k: suppress warnings when getting wmi WDS peer event id
      ath10k: Fix broken NULL func data frame status for 10.4
      ath10k: remove unnecessary error code assignment
      ath10k: Ignore SWBA event for a vif if its marked for no beacon

Moshe Shemesh (5):
      net/mlx4_core: Fix QUERY FUNC CAP flags
      net/mlx4_core: Preparation for VF vlan protocol 802.1ad
      net/mlx4_en: Disable vlan HW acceleration when in VF vlan protocol 802.1ad mode
      net: Update API for VF vlan protocol 802.1ad support
      net/mlx4: Add VF vlan protocol 802.1ad support

Naveen N. Rao (2):
      bpf samples: fix compiler errors with sockex2 and sockex3
      bpf samples: update tracex5 sample to use __seccomp_filter

Neal Cardwell (8):
      lib/win_minmax: windowed min or max estimator
      tcp: use windowed min filter library for TCP min_rtt estimation
      tcp: count packets marked lost for a TCP connection
      tcp: allow congestion control module to request TSO skb segment count
      tcp: export tcp_tso_autosize() and parameterize minimum number of TSO segments
      tcp: export tcp_mss_to_mtu() for congestion control modules
      tcp: increase ICSK_CA_PRIV_SIZE from 64 bytes to 88
      tcp_bbr: add BBR congestion control

Nelson Chang (7):
      net: ethernet: mediatek: modify to use the PDMA instead of the QDMA for Ethernet RX
      net: ethernet: mediatek: modify GDM to send packets to the PDMA for RX
      net: ethernet: mediatek: add HW LRO functions of PDMA RX rings
      net: ethernet: mediatek: add ethtool functions to configure RX flows of HW LRO
      net: ethernet: mediatek: add the dts property to set if the HW supports LRO
      net: ethernet: mediatek: add to stop PDMA while stopping the frame engine
      net: ethernet: mediatek: bug fix to disable HW LRO

Netanel Belgazal (1):
      net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)

Nicholas Mc Guire (1):
      liquidio: declare liquidio_set_rxcsum_command static

Nicolas Iooss (3):
      RDS: add __printf format attribute to error reporting functions
      brcmfmac: fix pmksa->bssid usage
      Bluetooth: add printf format attribute to hci_set_[fh]w_info()

Nicolas Pitre (1):
      ptp_clock: future-proofing drivers against PTP subsystem becoming optional

Niklas Söderlund (2):
      ravb: add sleep PM suspend/resume support
      ravb: use proper names for suspend/resume functions

Nikolay Aleksandrov (5):
      net: bridge: consolidate bridge and port linkxstats calls
      net: bridge: export vlan flags with the stats
      net: bridge: export also pvid flag in the xstats flags
      net: bridge: change unicast boolean to exact pkt_type
      net: bridge: add per-port multicast flood flag

Noa Osherovich (2):
      net/mlx5: Expose mlx5e_link_mode
      net/mlx5: Separate query_port_proto_oper for IB and EN

Nogah Frankel (12):
      netdevice: Add offload statistics ndo
      net: core: Add offload stats to if_stats_msg
      mlxsw: spectrum: Implement offload stats ndo and expose HW stats by default
      mlxsw: pci: Add lag related resources to resources query
      mlxsw: spectrum: lag resources- use resources data instead of consts
      mlxsw: pci: Add KVD size relate resources
      mlxsw: profile: Add KVD resources to profile config
      mlxsw: pci: Add max virtual routers resource
      mlxsw: spectrum: Implement max virtual routers resource
      mlxsw: pci: Add some miscellaneous resources
      mlxsw: pci: Add max router interface resource
      mlxsw: spectrum: Implement max rif resource

Oleg Drokin (1):
      rtlwifi/rtl8192de: Fix print format string

Oliver Neukum (1):
      kaweth: remove obsolete debugging statements

Or Gerlitz (14):
      switchdev: Put export declaration in the right place
      net/sched: cls_flower: Support masking for matching on tcp/udp ports
      net/sched: cls_flower: Remove an unused field from the filter key structure
      net/sched: cls_flower: Specify vlan attributes format in the UAPI header
      mlxsw: spectrum: Make offloads stats functions static
      net_sched: act_vlan: add helper inlines to access tcf_vlan info
      net/mlx5: E-Switch, Set the vport when registering the uplink rep
      net/mlx5: E-Switch, Set vport representor fields explicitly on registration
      net/mlx5: E-Switch, Allow fine tuning of eswitch vport push/pop vlan
      net/mlx5: Put elements related to offloaded TC rule in one struct
      net/mlx5e: Refactor retrival of skb from rx completion element (cqe)
      net/mlx5: E-Switch, Support VLAN actions in the offloads mode
      net/mlx5e: Add TC vlan action for SRIOV offloads
      net/mlx5e: Add TC vlan match parsing

Oren Givon (9):
      iwlwifi: rename and reorder 9000 series configuration structs
      iwlwifi: add a new series 9460 with new PCI ID
      iwlwifi: add new 9460 series PCI IDs
      iwlwifi: add the new 9270 series
      iwlwifi: add the new 9170 series
      iwlwifi: add the new 9560 series
      iwlwifi: add the new 8275 series
      iwlwifi: add new 8265 series PCI ID
      iwlwifi: add two new 9560 series PCI IDs

Pablo Neira (2):
      netfilter: nf_tables: typo in trace attribute definition
      netfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return logic

Pablo Neira Ayuso (20):
      netfilter: nf_tables: rename set implementations
      netfilter: remove ip_conntrack* sysctl compat code
      netfilter: nf_conntrack: restore nf_conntrack_htable_size as exported symbol
      netfilter: nf_tables: add quota expression
      netfilter: nf_tables: introduce nft_chain_parse_hook()
      netfilter: nf_tables: reject hook configuration updates on existing chains
      rhashtable: add rhashtable_lookup_get_insert_key()
      netfilter: nf_tables: honor NLM_F_EXCL flag in set element insertion
      netfilter: nf_tables: Use nla_put_be32() to dump immediate parameters
      netfilter: nft_quota: fix overquota logic
      netfilter: nft_quota: introduce nft_overquota()
      netfilter: nft_dynset: allow to invert match criteria
      netfilter: nf_tables: ensure proper initialization of nft_pktinfo fields
      netfilter: nf_tables_ipv6: setup pktinfo transport field on failure to parse
      netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()
      netfilter: nf_tables_bridge: use nft_set_pktinfo_ipv{4, 6}_validate
      netfilter: nf_tables: don't drop IPv6 packets that cannot parse transport
      netfilter: nft_lookup: remove superfluous element found check
      netfilter: nf_tables: add range expression
      Merge branch 'master' of git://git.kernel.org/.../davem/net-next

Paolo Abeni (2):
      net: flush the softnet backlog in process context
      net: pktgen: fix pkt_size

Paul Burton (1):
      net: ti: cpmac: Fix compiler warning due to type confusion

Paul Durrant (1):
      xen-netback: create a debugfs node for hash information

Pavel Andrianov (1):
      wl3501_cs: Add spinlock to wl3501_reset

Pedersen, Thomas (2):
      mac80211: add offset_tsf driver op and use it for mesh
      mac80211: mesh: decrease max drift

Phil Sutter (1):
      net: rtnetlink: Don't export empty RTAX_FEATURES

Philippe Reynes (22):
      net: ethernet: octeon: use phydev from struct net_device
      net: ethernet: octeon: use phy_ethtool_{get|set}_link_ksettings
      net: ethernet: greth: use phydev from struct net_device
      net: ethernet: greth: use phy_ethtool_{get|set}_link_ksettings
      net: ethernet: marvell: mvneta: use phydev from struct net_device
      net: ethernet: marvell: mvneta: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: renesas: sh_eth: use phydev from struct net_device
      net: ethernet: renesas: sh_eth: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: renesas: ravb: use phydev from struct net_device
      net: ethernet: renesas: ravb: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: apm: xgene: use phydev from struct net_device
      net: ethernet: apm: xgene: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: broadcom: b44: use phydev from struct net_device
      net: ethernet: broadcom: b44: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: broadcom: bcm63xx: use phydev from struct net_device
      net: ethernet: broadcom: bcm63xx: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: broadcom: bcmgenet: use new api ethtool_{get|set}_link_ksettings
      net: ethernet: hisilicon: hns: use phydev from struct net_device
      net: ethernet: hisilicon: hns: use new api ethtool_{get|set}_link_ksettings
      net: tg3: use new api ethtool_{get|set}_link_ksettings
      Revert "net: ethernet: bcmgenet: use new api ethtool_{get|set}_link_ksettings"
      net: bcmgenet: use new api ethtool_{get|set}_link_ksettings

Preethi Banala (1):
      i40e: add encap csum VF offload flag

Purushottam Kushwaha (2):
      cfg80211: identically validate beacon interval for AP/MESH/IBSS
      cfg80211: Add support to configure a beacon data rate

Radoslaw Biernacki (1):
      net: thunderx: Improvement for MBX interface debug messages

Rafał Miłecki (7):
      net: bgmac: support Ethernet core on BCM53573 SoCs
      net: bgmac: make it clear when setting interface type to RMII
      bcma: support BCM53573 series of wireless SoCs
      brcmfmac: fix memory leak in brcmf_fill_bss_param
      brcmfmac: drop unused fields from struct brcmf_pub
      brcmfmac: replace WARNING on timeout with a simple error message
      brcmfmac: use correct skb freeing helper when deleting flowring

Raghu Vatsavayi (18):
      liquidio: Consolidate common functionality
      liquidio: Firmware version management
      liquidio: Common enable irq function
      liquidio: CN23XX register definitions
      liquidio: CN23XX queue definitions
      liquidio: CN23XX device init and sriov config
      liquidio: CN23XX register setup
      liquidio: CN23XX queue manipulation
      liquidio: MSIX support for CN23XX
      liquidio: CN23XX firmware download
      liquidio: link and control commands
      liquidio: RX control commands
      liquidio: CN23XX IQ access
      liquidio: CN23XX octeon3 instruction
      liquidio: ethtool and led control support
      liquidio: CN23XX health monitoring
      liquidio: CN23XX napi support
      liquidio:CN23XX pause frame support

Rahul Lakkireddy (8):
      cxgb4: add support for tx traffic scheduling classes
      cxgb4: add support for per queue tx scheduling
      cxgb4: add support for tx max rate limiting
      cxgb4: move common filter code to separate file
      cxgb4: add common api support for configuring filters
      cxgb4: add parser to translate u32 filters to internal spec
      cxgb4: add support for offloading u32 filters
      cxgb4: add support for drop and redirect actions

Rajan Vaja (1):
      hostap: Use memdup_user() to reuse code

Rajkumar Manoharan (6):
      ath10k: fix group privacy action frame decryption for qca4019
      ath10k: improve wake_tx_queue ops performance
      ath10k: implement NAPI support
      ath10k: fix throughput regression in multi client mode
      mac80211: allow driver to handle packet-loss mechanism
      ath10k: fix copy engine 5 destination ring stuck

Raju Lakkaraju (4):
      Microsemi VSC 8531/41 PHY Driver
      net: phy: Fixed checkpatch errors for Microsemi PHYs.
      net: phy: Add MAC-IF driver for Microsemi PHYs.
      net: phy: Add Edge-rate driver for Microsemi PHYs.

Ram Amrani (6):
      qede: Add qedr framework
      qed: Add support for RoCE hw init
      qed: PD,PKEY and CQ verb support
      qed: Add support for QP verbs
      qed: Add support for memory registeration verbs
      qed: Add RoCE ll2 & GSI support

Rami Rosen (1):
      net: ena: change the return type of ena_set_push_mode() to be void.

Rana Shahout (1):
      net/mlx5e: XDP fast RX drop bpf programs support

Richard Alpe (8):
      tipc: add peer removal functionality
      tipc: split UDP nl address parsing
      tipc: split UDP send function
      tipc: refactor multicast ip check
      tipc: introduce UDP replicast
      tipc: add replicast peer discovery
      tipc: add the ability to get UDP options via netlink
      tipc: add UDP remoteip dump to netlink API

Richard Guy Briggs (1):
      xfrm: fix header file comment reference to struct xfrm_replay_state_esn

Rob Swindell (2):
      bnxt_en: Added support for Secure Firmware Update
      bnxt_en: Fix build error for kernesl without RTC-LIB

Robert Foss (5):
      net: asix: Add in_pm parameter
      net: asix: Avoid looping when the device is disconnected
      net: asix: Fix AX88772x resume failures
      net: asix: see 802.3 spec for phy reset
      net: asix: autoneg will set WRITE_MEDIUM reg

Robert Jarzmik (1):
      net: smc91x: take into account register shift

Roee Zamir (1):
      iwlwifi: mvm: Add debugfs function for clocks diff

Roger Chen (2):
      net: stmmac: dwmac-rk: add rk3366 & rk3399 specific data
      net: stmmac: dwmac-rk: fixes the gmac resume after PD on/off

Roman Mashak (1):
      net sched actions police: peg drop stats for conforming traffic

Roopa Prabhu (2):
      net: lwtunnel: Handle fragmentation
      rtnetlink: fdb dump: optimize by saving last interface markers

Rosen, Rami (1):
      switchdev: Fix return value of switchdev_port_fdb_dump().

Saeed Mahameed (19):
      net/mlx5: Init/Teardown hca commands via mlx5 ifc
      net/mlx5: Access register and MAD IFC commands via mlx5 ifc
      net/mlx5: PD and UAR commands via mlx5 ifc
      net/mlx5: MCG commands via mlx5 ifc
      net/mlx5: Pages management commands via mlx5 ifc
      net/mlx5: EQ commands via mlx5 ifc
      {net,IB}/mlx5: CQ commands via mlx5 ifc
      {net,IB}/mlx5: MKey/PSV commands via mlx5 ifc
      {net,IB}/mlx5: QP/XRCD commands via mlx5 ifc
      {net,IB}/mlx5: Modify QP commands via mlx5 ifc
      net/mlx5: Unify and improve command interface
      net/mlx5: Improve driver log messages
      net/mlx5e: Build RX SKB on demand
      net/mlx5e: Union RQ RX info per RQ type
      net/mlx5e: Slightly reduce hardware LRO size
      net/mlx5e: Dynamic RQ type infrastructure
      net/mlx5e: Have a clear separation between different SQ types
      net/mlx5e: XDP TX forwarding support
      net/mlx5e: XDP TX xmit more

Sara Sharon (27):
      iwlwifi: mvm: allow same PN for de-aggregated AMSDU
      iwlwifi: mvm: support new paging command format
      iwlwifi: pcie: refrain from SCD accesses
      iwlwifi: pcie: fix ucode load flow for a000 devices
      iwlwifi: pcie: remove dead code
      iwlwifi: mvm: call a different txq_enable function
      iwlwifi: pcie: introduce new tfd and tb formats
      iwlwifi: mvm: remove dump of locked registers
      iwlwifi: mvm: support new shared memory config API
      iwlwifi: introduce trans API to get byte count table
      iwlwifi: pcie: assign and access a000 TFD & TBs
      iwlwifi: change byte count table for a000 devices
      iwlwifi: pcie: merge iwl_queue and iwl_txq
      iwlwifi: mvm: support new BA notification response
      iwlwifi: pcie: change indentation of iwl_pcie_set_interrupt_capa()
      iwlwifi: pcie: fix typo in struct name for a000 devices
      iwlwifi: mvm: cleanup skb queue functions use
      iwlwifi: mvm: fix DQA AP mode station assumption
      iwlwifi: mvm: support BAR in reorder buffer
      iwlwifi: mvm: support packet injection
      iwlwifi: pcie: log full command sequence
      iwlwifi: move to wide ID for all commands
      iwlwifi: mvm: disable P2P queue on mac context release
      iwlwifi: mvm: set HCMD_NAME for PHY_DB as well
      iwlwifi: mvm: cleanup redundant no_power_up_nic_in_init config
      iwlwifi: mvm: cleanup usage of init_dbg parameter
      iwlwifi: allow error table address new range

Sargun Dhillon (3):
      cgroup: Add task_under_cgroup_hierarchy cgroup inline function to headers
      bpf: Add bpf_current_task_under_cgroup helper
      samples/bpf: Add test_current_task_under_cgroup test

Sathya Perla (2):
      be2net: do not remove vids from driver table if be_vid_config() fails.
      be2net: replace polling with sleeping in the FW completion path

Sean Wang (21):
      net: ethernet: mediatek: enhance the locking using the lightweight ones
      net: ethernet: mediatek: enhance RX path by reducing the frequency of the memory barrier used
      net: ethernet: mediatek: enhance RX path by aggregating more SKBs into NAPI
      net: ethernet: mediatek: refactoring mtk_hw_init to be reused
      net: ethernet: mediatek: add mtk_hw_deinit call as the opposite to mtk_hw_init call
      net: ethernet: mediatek: cleanup error path inside mtk_hw_init
      net: ethernet: mediatek: add controlling power domain the ethernet belongs to
      net: ethernet: mediatek: add the whole ethernet reset into the reset process
      net: ethernet: mediatek: add more resets for internal ethernet circuit block
      net: ethernet: mediatek: avoid race condition during the reset process
      net: ethernet: mediatek: enhance with avoiding superfluous assignment inside mtk_get_ethtool_stats
      net: ethernet: mediatek: fix missing changes merged for conflicts overlapping commits
      net: ethernet: mediatek: add extension of phy-mode for TRGMII
      net: ethernet: mediatek: add support for GMAC0 connecting with external PHY through TRGMII
      net: ethernet: mediatek: add the dts property to set if TRGMII supported on GMAC0
      net: ethernet: mediatek: use phydev from struct net_device
      net: ethernet: mediatek: remove superfluous local variable for phy address
      net: ethernet: mediatek: use [get|set]_link_ksettings
      net: ethernet: mediatek: get out of potential invalid pointer access
      Documentation: devicetree: revise ethernet device-tree binding about TRGMII
      Documentation: devicetree: fix typo in MediaTek ethernet device-tree binding

Sergei Shtylyov (1):
      sh_eth: add R8A7743/5 support

Sergey Ryazanov (1):
      ath5k: fix EEPROM dumping via debugfs

Shaohua Li (2):
      bpf: clean up put_cpu_var usage
      lib: clean up put_cpu_var usage

Sharon Dvir (2):
      iwlwifi: unify iwl_get_ucode_image() implementations
      iwlwifi: migrate to devm_* API

Shmulik Ladkani (6):
      net: skbuff: Export __skb_vlan_pop
      net/sched: act_vlan: Introduce TCA_VLAN_ACT_MODIFY vlan action
      net: skbuff: Remove errornous length validation in skb_vlan_pop()
      net: skbuff: Coding: Use eth_type_vlan() instead of open coding it
      net/sched: act_vlan: Push skb->data to mac_header prior calling skb_vlan_*() functions
      net: skbuff: Limit skb_vlan_pop/push() to expect skb->data at mac header

Simon Wunderlich (2):
      batman-adv: Start new development cycle
      batman-adv: add backbone table netlink support

Soheil Hassas Yeganeh (2):
      tcp: cdg: rename struct minmax in tcp_cdg.c to avoid a naming conflict
      tcp: track application-limited rate samples

Somnath Kotur (3):
      be2net: clear vlan-promisc setting before programming the vlan list
      be2net: Issue COMMON_RESET_FUNCTION cmd during driver unload
      be2net: Add privilege level check for OPCODE_COMMON_GET_EXT_FAT_CAPABILITIES SLI cmd.

Sridhar Samudrala (2):
      i40e: Expose 'trust' flag to userspace via ndo_get_vf_config.
      i40evf: Fix link state event handling

Sriharsha Basavapatna (3):
      be2net: Avoid unnecessary firmware updates of multicast list
      be2net: Support UE recovery in BEx/Skyhawk adapters
      be2net: Update the driver version to 11.1.0.0

Stanislaw Gruszka (3):
      mwifiex: make "PCI-E is not the winner" print more informative
      mwifiex: print status of FW ready event
      mwifiex: do not print dot when downloading FW

Stefan Agner (1):
      netfilter: bridge: clarify bridge/netfilter message

Stefan Assmann (3):
      i40e: check if vectors are already depleted when doing VMDq allocation
      i40e: fix MSI-X vector redistribution if hw limit is reached
      i40e: fix sideband flow director vector allocation

Steffen Klassert (2):
      xfrm: Fix xfrm_policy_lock imbalance
      gso: Support partial splitting at the frag_list pointer

Stephen Hemminger (23):
      hv_netvsc: fix rtnl locking in callback
      hv_netvsc: make RSS hash key static
      hv_netvsc: use kcalloc
      hv_netvsc: style cleanups
      hv_netvsc: make inline functions static
      hv_netvsc: use ARRAY_SIZE() for NDIS versions
      hv_netvsc: make device_remove void
      hv_netvsc: init completion during alloc
      hv_netvsc: rearrange start_xmit
      hv_netvsc: refactor completion function
      hv_netvsc: make netvsc_destroy_buf void
      hv_netvsc: make variable local
      hv_netvsc: report vmbus name in ethtool
      hv_netvsc: add ethtool statistics for tx packet issues
      Revert "hv_netvsc: make inline functions static"
      hv_netvsc: use consume_skb
      hv_netvsc: dev hold/put reference to VF
      hv_netvsc: simplify callback event code
      hv_netvsc: improve VF device matching
      hv_netvsc: use RCU to protect vf_netdev
      hv_netvsc: remove VF in flight counters
      hv_netvsc: count multicast packets received
      hv_netvsc: fix comments

Sudarsana Reddy Kalluru (5):
      qed*: Add support for ethtool link_ksettings callbacks.
      qede: Add support for capturing additional stats in ethtool-stats display.
      qede: Add support for per-queue stats.
      qed: Add support for NCSI statistics.
      qede: Add support for Tx/Rx-only queues.

Sunil Goutham (20):
      net: thunderx: Moved HW capability info from macros to structure
      net: thunderx: Add VNIC's PCI devid on future chips
      net: thunderx: Add support for 81xx and 83xx chips
      net: thunderx: Set queue count based on number of CPUs
      net: thunderx: Enable CQE_RX desc's extension fields
      net: thunderx: Enable mailbox interrupts on 81xx/83xx
      net: thunderx: Support for different LMAC types within BGX
      net: thunderx: Add 81xx support to BGX driver
      net: thunderx: Add QSGMII interface type support
      net: thunderx: Add RGMII interface type support
      net: thunderx: Add support for 16 LMACs of 83xx
      net: thunderx: Support for 83xx mixed QLM/DLM config
      net: thunderx: Use netdev's name for naming VF's interrupts
      net: thunderx: Use skb_add_rx_frag() for split buffer Rx pkts
      net: thunderx: Don't set mac address for secondary Qset VFs
      net: thunderx: Use napi_consume_skb for bulk free
      net: thunderx: Use netdev_rss_key_fill() helper
      net: thunderx: Don't set RX_PACKET_DIS while initializing
      net: thunderx: Fix issue with IRQ namimg
      net: thunderx: Support for byte queue limits

Suresh Reddy (2):
      be2net: Avoid redundant addition of mac address in HW
      be2net: Fix mac address collision in some configurations

Sven Eckelmann (33):
      batman-adv: Document optional batadv_algo_ops
      batman-adv: Define module rtnl link name
      batman-adv: Use rtnl link in device creation example
      batman-adv: Modify mesh_iface outside sysfs context
      batman-adv: Revert "postpone sysfs removal when unregistering"
      batman-adv: Avoid sysfs name collision for netns moves
      batman-adv: use kmem_cache for translation table
      batman-adv: Remove orig_node reference handling from send_skb_unicast
      batman-adv: Fix consistency of update route messages
      batman-adv: Provide TTVN in the mesh_info netlink msg
      batman-adv: netlink: add gateway table queries
      batman-adv: add B.A.T.M.A.N. V bat_gw_dump implementations
      batman-adv: Provide bla group in the mesh_info netlink msg
      batman-adv: Place kref_get for orig_node_vlan near use
      batman-adv: Place kref_get for orig_ifinfo near use
      batman-adv: Place kref_get for tt_orig_list_entry near use
      batman-adv: Place kref_get for neigh_ifinfo near use
      batman-adv: Place kref_get for neigh_node near use
      batman-adv: Place kref_get for orig_node near use
      batman-adv: Place kref_get for tt_local_entry near use
      batman-adv: Place kref_get for tt_common near use
      batman-adv: Place kref_get for bla_claim near use
      batman-adv: Place kref_get for bla_backbone_gw near use
      batman-adv: Place kref_get for dat_entry near use
      batman-adv: Place kref_get for gw_node near use
      batman-adv: Place kref_get for hard_iface near use
      batman-adv: Place kref_get for softif_vlan near use
      batman-adv: Place kref_get for nc_node near use
      batman-adv: Place kref_get for nc_path near use
      batman-adv: Place kref_get for tvlv_container near use
      batman-adv: Place kref_get for tvlv_handler near use
      batman-adv: Keep batadv netdev when hardif disappears
      batman-adv: Allow to disable debugfs support

Szymon Janc (8):
      Bluetooth: btusb: Mark CW6622 devices to have broken link key commands
      Bluetooth: Fix not registering BR/EDR SMP channel with force_bredr flag
      Bluetooth: Remove unused parameter from tlv_data_is_valid function
      Bluetooth: Unify advertising instance flags check
      Bluetooth: Fix advertising instance validity check for flags
      Bluetooth: Increment management interface revision
      Bluetooth: Refactor read_ext_controller_info handler
      Bluetooth: Add appearance to Read Ext Controller Info command

Tamizh chelvam (4):
      ath10k: move firmware_swap_code_seg_info to ath10k_fw_file
      ath10k: handle testmode events for 10.2 and 10.4 based firmware
      ath10k: add testmode support for 10.4 firmware
      ath10k: Add WMI_SERVICE_PERIODIC_CHAN_STAT_SUPPORT wmi service

Tariq Toukan (4):
      net/mlx5e: Single flow order-0 pages for Striding RQ
      net/mlx5e: Introduce API for RX mapped pages
      net/mlx5e: Implement RX mapped page cache for page recycle
      net/mlx4_en: Add branch prediction hints in RX data-path

Thadeu Lima de Souza Cascardo (3):
      openvswitch: use alias for genetlink family names
      openvswitch: fix flow stats accounting when node 0 is not possible
      openvswitch: use percpu flow stats

Thierry Reding (1):
      net: ipconfig: Fix more use after free

Thomas F Herbert (1):
      openvswitch: 802.1ad uapi changes.

Thomas Falcon (1):
      ibmvnic: Handle backing device failover and reinitialization

Thomas Pedersen (1):
      ath10k: enable peer stats by default

Timur Tabi (4):
      net: emac: emac gigabit ethernet controller driver
      net: qcom/emac: do not use devm on internal phy pdev
      net: qcom/emac: use device_get_mac_address
      net: qcom/emac: initial ACPI support

Tobias Regnery (6):
      alx: add tso support
      alx: refactor msi enablement and disablement
      alx: factor out part of the interrupt handler
      alx: add msi-x support
      alx: add module parameter to enable msi-x support
      alx: fix error handling in __alx_open

Todd Fujinaka (2):
      igbvf: bump version to igbvf-2.4.0
      igb: bump version to igb-5.4.0

Toke Høiland-Jørgensen (6):
      mac80211: Re-structure aqm debugfs output and keep CoDel stats per txq
      mac80211: Move ieee802111_tx_dequeue() to later in tx.c
      fq.h: Port memory limit mechanism from fq_codel
      mac80211: Export fq memory limit information in debugfs
      mac80211: Set lower memory limit for non-VHT devices
      mac80211: Move reorder-sensitive TX handlers to after TXQ dequeue

Tom Herbert (8):
      strparser: Stream parser for messages
      kcm: Use stream parser
      strparser: Documentation
      strparser: Queue work when being unpaused
      kcm: Fix locking issue
      net: Add read_sock proto_op
      tcp: Set read_sock and peek_len proto_ops
      kcm: Remove TCP specific references from kcm and strparser

Tomer Tayar (3):
      qed: Add infrastructure for debug data collection
      qed: Add support for debug data collection
      qed*: Add support for the ethtool get_regs operation

Tony Lindgren (5):
      wlcore: Prepare family to fix nvs file handling
      wlcore: sdio: Populate config firmware data
      wlcore: spi: Populate config firmware data
      wlcore: Fix config firmware loading issues
      wlcore: wl18xx: Use chip specific configuration firmware

Tyler Hicks (1):
      net: Use ns_capable_noaudit() when determining net sysctl permissions

Uwe Kleine-König (4):
      net: ipconfig: Add device name to debug messages
      net: ipconfig: Support using "delayed" DHCP replies
      net: ipconfig: drop inter-device timeout
      net: ipconfig: fix use after free

Varun Prakash (11):
      libcxgb,iw_cxgb4,cxgbit: add cxgb_get_4tuple()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_find_route()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_find_route6()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_is_neg_adv()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_best_mtu()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_compute_wscale()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_mk_tid_release()
      libcxgb, iw_cxgb4, cxgbit: add cxgb_mk_close_con_req()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_mk_abort_req()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_mk_abort_rpl()
      libcxgb,iw_cxgb4,cxgbit: add cxgb_mk_rx_data_ack()

Vasanthakumar Thiagarajan (5):
      ath10k: move ath10k_hw_params definition to hw.h
      ath10k: add provision for Rx descriptor abstraction
      ath10k: properly remove padding from the start of rx payload
      ath10k: remove 4-addr padding related hw_param configuration
      ath10k: fix rfc1042 header retrieval in QCA4019 with eth decap mode

Vegard Nossum (1):
      net/irda: remove pointless assignment/check

Veola Nazareth (1):
      ixgbe: report correct media type for KR, KX and KX4 interfaces

Vidya Sagar Ravipati (1):
      net: ethtool: add support for 1000BaseX and missing 10G link modes

Vignesh Raman (1):
      Bluetooth: Use single return in hci_uart_tty_ioctl() call

Vishwanath Pai (2):
      netfilter: xt_hashlimit: Prepare for revision 2
      netfilter: xt_hashlimit: Create revision 2 to support higher pps rates

Vitaly Kuznetsov (1):
      xen-netfront: avoid packet loss when ethernet header crosses page boundary

Vivien Didelot (30):
      net: dsa: mv88e6xxx: rename _mv88e6xxx_wait
      net: dsa: mv88e6xxx: describe Multi-chip registers
      net: dsa: mv88e6xxx: rework Global2 SMI PHY access
      net: dsa: mv88e6xxx: abstract PHY ops
      net: dsa: mv88e6xxx: describe PHY page and SerDes
      net: dsa: mv88e6xxx: use the new PHY API
      net: dsa: rename switch operations structure
      net: dsa: add MDB support
      net: dsa: mv88e6xxx: make switchdev DB ops generic
      net: dsa: mv88e6xxx: add MDB support
      net: dsa: remove ds_to_priv
      net: dsa: mv88e6xxx: fix module naming
      net: dsa: mv88e6xxx: move Global2 code
      net: dsa: mv88e6xxx: make global2 code optional
      net: bridge: add helper to call /sbin/bridge-stp
      net: dsa: mv88e6xxx: handle multiple ports in ATU
      net: dsa: add port STP state helper
      net: dsa: add port fast ageing
      net: dsa: b53: implement DSA port fast ageing
      net: dsa: mv88e6xxx: implement DSA port fast ageing
      net: dsa: mv88e6xxx: add global1 helpers
      net: dsa: mv88e6xxx: abstract REG_GLOBAL2
      net: dsa: mv88e6xxx: add flags for FID registers
      net: dsa: mv88e6xxx: expose mv88e6xxx_num_databases
      net: dsa: mv88e6xxx: add mv88e6xxx_num_ports helper
      net: dsa: mv88e6xxx: rename mv88e6xxx_vtu_stu_entry
      net: dsa: mv88e6xxx: rename mv88e6xxx_ops
      net: dsa: mv88e6xxx: add chip-wide ops
      net: dsa: mv88e6xxx: add set_switch_mac to ops
      net: dsa: mv88e6xxx: add eeprom ops

WANG Cong (4):
      net_sched: properly handle failure case of tcf_exts_init()
      vxlan: call peernet2id() in fdb notification
      netns: avoid disabling irq for netns id
      net_sched: check NULL on error path in route4_change()

Wei Yongjun (44):
      qed: Use DEFINE_SPINLOCK() for spinlock
      sit: make function ipip6_valid_ip_proto() static
      qed: Fix possible memory leak in qed_dcbnl_get_ieee_pfc()
      net: macb: add missing free_netdev() on error in macb_probe()
      net: dsa: b53: remove .owner and .bus fields for driver
      net: phy: Fix return value check in xgmiitorgmii_probe()
      net: ena: Remove unnecessary pci_set_drvdata()
      net: ena: Fix error return code in ena_device_init()
      net: thunderx: Remove unnecessary pci_set_drvdata()
      net: mediatek: remove unnecessary platform_set_drvdata()
      i40e: Use list_move instead of list_del/list_add
      cxgb4: Simplify the return expression
      netfilter: nft_hash: fix non static symbol warning
      net: phy: Add missing of_node_put() in xgmiitorgmii_probe()
      xen-netback: using kfree_rcu() to simplify the code
      net: phy: xgmiitorgmii: Fix non static symbol warning
      cxgb4: Remove unused including <linux/version.h>
      net: hns: remove redundant dev_err call in hns_dsaf_get_cfg()
      tipc: use kfree_skb() instead of kfree()
      ibmvnic: convert to use simple_open()
      ibmvnic: fix error return code in ibmvnic_probe()
      vmxnet3: fix non static symbol warning
      chcr: Fix non static symbol warning
      net: ethernet: ti: cpsw: fix error return code in cpsw_set_channels()
      wlcore: spi: fix non static symbol warning
      rtl8xxxu: gen1: Fix non static symbol warning
      tipc: fix possible memory leak in tipc_udp_enable()
      net: macb: fix missing unlock on error in macb_start_xmit()
      net: ethernet: dwmac: fix non static symbol warning
      iwlwifi: mvm: use setup_timer instead of init_timer and data fields
      net: dsa: bcm_sf2: Fix non static symbol warning
      net: dsa: b53: Remove unused including <linux/version.h>
      net: emac: remove unnecessary dev_set_drvdata()
      net: emac: remove .owner field for driver
      cxgb4: Fix return value check in cfg_queues_uld()
      Bluetooth: Use kzalloc instead of kmalloc/memset
      net: dsa: qca8k: fix non static symbol warning
      net: dsa: qca8k: use mdio_module_driver to simplify the code
      cxgb4: Convert to use simple_open()
      be2net: fix non static symbol warnings
      net: dsa: mv88e6xxx: fix non static symbol warnings
      igb: fix non static symbol warning
      ath10k: fix error return code in ahb
      net: qcom/emac: fix return value check in emac_sgmii_config()

William Tu (1):
      samples/bpf: Add tunnel set/get tests.

Wolfram Sang (17):
      net: can: usb: ems_usb: don't print error when allocating urb fails
      net: can: usb: esd_usb2: don't print error when allocating urb fails
      net: can: usb: gs_usb: don't print error when allocating urb fails
      net: can: usb: kvaser_usb: don't print error when allocating urb fails
      net: can: usb: peak_usb: pcan_usb_core: don't print error when allocating urb fails
      net: can: usb: usb_8dev: don't print error when allocating urb fails
      net: usb: hso: don't print error when allocating urb fails
      net: usb: lan78xx: don't print error when allocating urb fails
      net: usb: usbnet: don't print error when allocating urb fails
      net: wimax: i2400m: usb-notif: don't print error when allocating urb fails
      net: wireless: ath: ar5523: ar5523: don't print error when allocating urb fails
      net: wireless: broadcom: brcm80211: brcmfmac: usb: don't print error when allocating urb fails
      net: wireless: intersil: orinoco: orinoco_usb: don't print error when allocating urb fails
      net: wireless: marvell: libertas_tf: if_usb: don't print error when allocating urb fails
      net: wireless: marvell: mwifiex: usb: don't print error when allocating urb fails
      net: wireless: realtek: rtlwifi: usb: don't print error when allocating urb fails
      Bluetooth: bcm203x: don't print error when allocating urb fails

Woojung Huh (3):
      smsc95xx: Add maintainer
      smsc95xx: Add register define
      smsc95xx: Add mdix control via ethtool

Xin Long (7):
      veth: sctp: add NETIF_F_SCTP_CRC to device features
      sctp: remove the unnecessary state check in sctp_outq_tail
      sctp: do not return the transmit err back to sctp_sendmsg
      sctp: free msg->chunks when sctp_primitive_SEND return err
      sctp: save transmit error to sk_err in sctp_outq_flush
      sctp: make sctp_outq_flush/tail/uncork return void
      sctp: not return ENOMEM err back in sctp_packet_transmit

Xinming Hu (5):
      mwifiex: process rxba_sync event
      mwifiex: add HT aggregation support for adhoc mode
      mwifiex: correct aid value during tdls setup
      mwifiex: add manufacturing mode support
      mwifiex: add cfg80211 testmode support

Yaogong Wang (1):
      tcp: use an RB tree for ooo receive queue

Yotam Gigi (2):
      mlxsw: spectrum: Fix misuse of hard_header_len
      mlxsw: switchx2: Fix misuse of hard_header_len

Yuchung Cheng (5):
      net-tcp: retire TFO_SERVER_WO_SOCKOPT2 config
      tcp: track data delivery rate for a TCP connection
      tcp: export data delivery rate
      tcp: allow congestion control to expand send buffer differently
      tcp: new CC hook to set sending rate with rate_sample in any CA state

Yuval Mintz (13):
      qed*: Semantic changes
      qed*: Trivial modifications
      qed*: Add and modify some prints
      qed*: Fix pause setting
      qede: Fix forcing high speeds
      qed: utilize FW 8.10.10.0
      qed: Add support for legacy VFs
      qed: Prevent VFs from pause flooding
      qed*: Add support for VFs over legacy PFs
      qed: Change locking scheme for VF channel
      qed: Fix address macros
      bnx2x: Don't flush multicast MACs
      qed: Add Light L2 support

Zhu Yanjun (1):
      vxlan: remove the useless header file protocol.h

Zubair Lutfullah Kakakhel (1):
      net: ethernet: xilinx: Enable emaclite for MIPS

Zyta Szpak (1):
      net: thunderx: Configure tunnelling protocol parsing

hayeswang (1):
      r8152: fix the coding style with checkpatch.pl

jbaron@akamai.com (1):
      bnx2x: free the mac filter group list before freeing the cmd

kbuild test robot (2):
      batman-adv: fix boolreturn.cocci warnings
      iwlwifi: fix semicolon.cocci warnings

oulijun (1):
      net: hns: Add reset function support for RoCE driver

pravin shelar (2):
      openvswitch: Fix Frame-size larger than 1024 bytes warning.
      openvswitch: avoid resetting flow key while installing new flow.

shubhrajyoti.datta@xilinx.com (1):
      net: ethernet: macb: Add support for rx_clk

stephen hemminger (13):
      xgbe: constify get_netdev_ops and get_ethtool_ops
      mpls: get rid of trivial returns
      net: make genetlink ctrl ops const
      drop_monitor: make genl_multicast_group const
      batman: make netlink attributes const
      netns: make nla_policy const
      fou: make nla_policy const
      ila: make nla_policy const
      tcp: make nla_policy const
      l2tp: make nla_policy const
      sky2: use napi_complete_done
      rtnetlink: remove unused ifla_stats_policy
      macsec: set network devtype

subashab@codeaurora.org (1):
      net: xfrm: Change u32 sysctl entries to use proc_douintvec

 Documentation/devicetree/bindings/net/apm-xgene-enet.txt           |    3 +
 Documentation/devicetree/bindings/net/brcm,bcm7445-switch-v4.0.txt |   45 +-
 Documentation/devicetree/bindings/net/dsa/qca8k.txt                |   89 +
 Documentation/devicetree/bindings/net/ethernet.txt                 |    4 +-
 Documentation/devicetree/bindings/net/macb.txt                     |    1 +
 Documentation/devicetree/bindings/net/mediatek-net.txt             |    8 +-
 Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt         |   58 +
 Documentation/devicetree/bindings/net/qcom-emac.txt                |  111 +
 Documentation/devicetree/bindings/net/rockchip-dwmac.txt           |    8 +-
 Documentation/devicetree/bindings/net/sh_eth.txt                   |    2 +
 Documentation/devicetree/bindings/net/smsc911x.txt                 |   15 +-
 Documentation/devicetree/bindings/net/stm32-dwmac.txt              |   32 +
 Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt        |   35 +
 Documentation/networking/00-INDEX                                  |    2 +
 Documentation/networking/batman-adv.txt                            |   17 +-
 Documentation/networking/dsa/dsa.txt                               |   33 +-
 Documentation/networking/ena.txt                                   |  305 ++
 Documentation/networking/ip-sysctl.txt                             |   45 +-
 Documentation/networking/ipvlan.txt                                |    7 +-
 Documentation/networking/rxrpc.txt                                 |   90 +-
 Documentation/networking/strparser.txt                             |  136 +
 Documentation/networking/switchdev.txt                             |   40 +-
 MAINTAINERS                                                        |   22 +-
 arch/arm64/boot/dts/apm/apm-mustang.dts                            |    1 +
 arch/arm64/boot/dts/apm/apm-storm.dtsi                             |    2 +-
 drivers/atm/eni.c                                                  |    5 +-
 drivers/atm/fore200e.c                                             |    6 +-
 drivers/atm/he.c                                                   |   10 +-
 drivers/atm/iphase.c                                               |   19 +-
 drivers/atm/nicstar.c                                              |   15 +-
 drivers/atm/zatm.c                                                 |   16 +-
 drivers/bcma/driver_chipcommon.c                                   |   32 +-
 drivers/bcma/main.c                                                |    6 +-
 drivers/bluetooth/Kconfig                                          |   23 +
 drivers/bluetooth/Makefile                                         |    2 +
 drivers/bluetooth/bcm203x.c                                        |    4 +-
 drivers/bluetooth/btqca.c                                          |    8 +-
 drivers/bluetooth/btqcomsmd.c                                      |  182 ++
 drivers/bluetooth/btrtl.c                                          |  107 +-
 drivers/bluetooth/btusb.c                                          |   14 +-
 drivers/bluetooth/btwilink.c                                       |    4 +-
 drivers/bluetooth/hci_bcm.c                                        |    2 +-
 drivers/bluetooth/hci_bcsp.c                                       |  128 +-
 drivers/bluetooth/hci_intel.c                                      |    6 +-
 drivers/bluetooth/hci_ldisc.c                                      |   34 +-
 drivers/bluetooth/hci_mrvl.c                                       |  387 +++
 drivers/bluetooth/hci_qca.c                                        |    2 +-
 drivers/bluetooth/hci_uart.h                                       |    9 +-
 drivers/crypto/Kconfig                                             |    2 +
 drivers/crypto/Makefile                                            |    1 +
 drivers/crypto/chelsio/Kconfig                                     |   19 +
 drivers/crypto/chelsio/Makefile                                    |    4 +
 drivers/crypto/chelsio/chcr_algo.c                                 | 1525 ++++++++++
 drivers/crypto/chelsio/chcr_algo.h                                 |  471 +++
 drivers/crypto/chelsio/chcr_core.c                                 |  238 ++
 drivers/crypto/chelsio/chcr_core.h                                 |   80 +
 drivers/crypto/chelsio/chcr_crypto.h                               |  203 ++
 drivers/infiniband/hw/cxgb4/Kconfig                                |    1 +
 drivers/infiniband/hw/cxgb4/Makefile                               |    1 +
 drivers/infiniband/hw/cxgb4/cm.c                                   |  288 +-
 drivers/infiniband/hw/cxgb4/device.c                               |    4 +
 drivers/infiniband/hw/cxgb4/iw_cxgb4.h                             |    9 -
 drivers/infiniband/hw/mlx5/cq.c                                    |  110 +-
 drivers/infiniband/hw/mlx5/main.c                                  |   13 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h                               |    2 +-
 drivers/infiniband/hw/mlx5/mr.c                                    |  184 +-
 drivers/infiniband/hw/mlx5/qp.c                                    |  189 +-
 drivers/isdn/hardware/mISDN/avmfritz.c                             |    6 +-
 drivers/isdn/hardware/mISDN/hfcmulti.c                             |   24 +-
 drivers/isdn/hardware/mISDN/mISDNipac.c                            |    2 +-
 drivers/isdn/hardware/mISDN/w6692.c                                |    2 +-
 drivers/net/Kconfig                                                |    2 +
 drivers/net/bonding/bond_main.c                                    |    2 +-
 drivers/net/can/usb/ems_usb.c                                      |    9 +-
 drivers/net/can/usb/esd_usb2.c                                     |    3 -
 drivers/net/can/usb/gs_usb.c                                       |    9 +-
 drivers/net/can/usb/kvaser_usb.c                                   |    7 +-
 drivers/net/can/usb/peak_usb/pcan_usb_core.c                       |    6 +-
 drivers/net/can/usb/usb_8dev.c                                     |    5 +-
 drivers/net/dsa/Kconfig                                            |   10 +
 drivers/net/dsa/Makefile                                           |    1 +
 drivers/net/dsa/b53/b53_common.c                                   |  199 +-
 drivers/net/dsa/b53/b53_mdio.c                                     |    2 +-
 drivers/net/dsa/b53/b53_mmap.c                                     |    2 +-
 drivers/net/dsa/b53/b53_priv.h                                     |   11 +-
 drivers/net/dsa/b53/b53_regs.h                                     |    3 +
 drivers/net/dsa/b53/b53_spi.c                                      |    4 +-
 drivers/net/dsa/b53/b53_srab.c                                     |    2 +-
 drivers/net/dsa/bcm_sf2.c                                          | 1036 ++-----
 drivers/net/dsa/bcm_sf2.h                                          |   82 +-
 drivers/net/dsa/bcm_sf2_regs.h                                     |  122 -
 drivers/net/dsa/mv88e6060.c                                        |   17 +-
 drivers/net/dsa/mv88e6xxx/Kconfig                                  |   12 +
 drivers/net/dsa/mv88e6xxx/Makefile                                 |    5 +-
 drivers/net/dsa/mv88e6xxx/chip.c                                   | 2341 +++++++-------
 drivers/net/dsa/mv88e6xxx/global1.c                                |   34 +
 drivers/net/dsa/mv88e6xxx/global1.h                                |   23 +
 drivers/net/dsa/mv88e6xxx/global2.c                                |  491 +++
 drivers/net/dsa/mv88e6xxx/global2.h                                |   88 +
 drivers/net/dsa/mv88e6xxx/mv88e6xxx.h                              |  238 +-
 drivers/net/dsa/qca8k.c                                            | 1040 +++++++
 drivers/net/dsa/qca8k.h                                            |  185 ++
 drivers/net/ethernet/3com/3c59x.c                                  |    2 +-
 drivers/net/ethernet/Kconfig                                       |    1 +
 drivers/net/ethernet/Makefile                                      |    1 +
 drivers/net/ethernet/adaptec/starfire.c                            |    2 +-
 drivers/net/ethernet/adi/bfin_mac.c                                |    8 +-
 drivers/net/ethernet/aeroflex/greth.c                              |   42 +-
 drivers/net/ethernet/aeroflex/greth.h                              |    1 -
 drivers/net/ethernet/agere/et131x.c                                |    2 +-
 drivers/net/ethernet/amazon/Kconfig                                |   27 +
 drivers/net/ethernet/amazon/Makefile                               |    5 +
 drivers/net/ethernet/amazon/ena/Makefile                           |    7 +
 drivers/net/ethernet/amazon/ena/ena_admin_defs.h                   |  973 ++++++
 drivers/net/ethernet/amazon/ena/ena_com.c                          | 2666 ++++++++++++++++
 drivers/net/ethernet/amazon/ena/ena_com.h                          | 1038 +++++++
 drivers/net/ethernet/amazon/ena/ena_common_defs.h                  |   48 +
 drivers/net/ethernet/amazon/ena/ena_eth_com.c                      |  501 +++
 drivers/net/ethernet/amazon/ena/ena_eth_com.h                      |  160 +
 drivers/net/ethernet/amazon/ena/ena_eth_io_defs.h                  |  416 +++
 drivers/net/ethernet/amazon/ena/ena_ethtool.c                      |  895 ++++++
 drivers/net/ethernet/amazon/ena/ena_netdev.c                       | 3272 ++++++++++++++++++++
 drivers/net/ethernet/amazon/ena/ena_netdev.h                       |  324 ++
 drivers/net/ethernet/amazon/ena/ena_pci_id_tbl.h                   |   67 +
 drivers/net/ethernet/amazon/ena/ena_regs_defs.h                    |  133 +
 drivers/net/ethernet/amd/7990.c                                    |    6 +-
 drivers/net/ethernet/amd/amd8111e.c                                |    2 +-
 drivers/net/ethernet/amd/xgbe/xgbe-drv.c                           |    4 +-
 drivers/net/ethernet/amd/xgbe/xgbe-ethtool.c                       |    4 +-
 drivers/net/ethernet/amd/xgbe/xgbe-main.c                          |    8 +-
 drivers/net/ethernet/amd/xgbe/xgbe.h                               |    5 +-
 drivers/net/ethernet/apm/xgene/Kconfig                             |    1 +
 drivers/net/ethernet/apm/xgene/xgene_enet_cle.c                    |   17 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_cle.h                    |   10 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_ethtool.c                |   65 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_hw.c                     |   38 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_hw.h                     |   13 +
 drivers/net/ethernet/apm/xgene/xgene_enet_main.c                   |  171 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_main.h                   |   11 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.c                  |   77 +-
 drivers/net/ethernet/apm/xgene/xgene_enet_xgmac.h                  |    4 +
 drivers/net/ethernet/arc/emac_mdio.c                               |    2 +-
 drivers/net/ethernet/atheros/alx/alx.h                             |   10 +-
 drivers/net/ethernet/atheros/alx/hw.c                              |   14 +
 drivers/net/ethernet/atheros/alx/hw.h                              |    1 +
 drivers/net/ethernet/atheros/alx/main.c                            |  314 +-
 drivers/net/ethernet/broadcom/b44.c                                |  116 +-
 drivers/net/ethernet/broadcom/b44.h                                |    1 -
 drivers/net/ethernet/broadcom/bcm63xx_enet.c                       |   79 +-
 drivers/net/ethernet/broadcom/bcm63xx_enet.h                       |    1 -
 drivers/net/ethernet/broadcom/bcmsysport.c                         |    4 +-
 drivers/net/ethernet/broadcom/bgmac-bcma.c                         |   19 +-
 drivers/net/ethernet/broadcom/bgmac.c                              |   28 +-
 drivers/net/ethernet/broadcom/bgmac.h                              |   19 +
 drivers/net/ethernet/broadcom/bnx2.c                               |    2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h                    |    3 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c                   |  131 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c                     |  276 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.h                     |   12 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c                  |   33 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h                  |    1 -
 drivers/net/ethernet/broadcom/bnxt/bnxt.c                          |  135 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.h                          |   22 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c                  |  187 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_fw_hdr.h                   |   16 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h                      | 1251 +++++---
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c                    |   90 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h                    |    2 +-
 drivers/net/ethernet/broadcom/genet/bcmgenet.c                     |  140 +-
 drivers/net/ethernet/broadcom/tg3.c                                |  112 +-
 drivers/net/ethernet/brocade/bna/bnad.c                            |   27 +-
 drivers/net/ethernet/brocade/bna/bnad.h                            |    1 -
 drivers/net/ethernet/cadence/macb.c                                |   97 +-
 drivers/net/ethernet/cadence/macb.h                                |   14 +-
 drivers/net/ethernet/cavium/Kconfig                                |   12 +-
 drivers/net/ethernet/cavium/liquidio/Makefile                      |   24 +-
 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c            | 1237 ++++++++
 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.h            |   59 +
 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h              |  604 ++++
 drivers/net/ethernet/cavium/liquidio/cn66xx_device.c               |   45 +-
 drivers/net/ethernet/cavium/liquidio/cn66xx_device.h               |    7 +-
 drivers/net/ethernet/cavium/liquidio/cn68xx_device.c               |    1 -
 drivers/net/ethernet/cavium/liquidio/lio_core.c                    |  266 ++
 drivers/net/ethernet/cavium/liquidio/lio_ethtool.c                 |  513 +++-
 drivers/net/ethernet/cavium/liquidio/lio_main.c                    | 1128 ++++---
 drivers/net/ethernet/cavium/liquidio/liquidio_common.h             |   34 +-
 drivers/net/ethernet/cavium/liquidio/octeon_config.h               |   59 +-
 drivers/net/ethernet/cavium/liquidio/octeon_console.c              |  117 +-
 drivers/net/ethernet/cavium/liquidio/octeon_device.c               |  352 ++-
 drivers/net/ethernet/cavium/liquidio/octeon_device.h               |  114 +-
 drivers/net/ethernet/cavium/liquidio/octeon_droq.c                 |   46 +-
 drivers/net/ethernet/cavium/liquidio/octeon_droq.h                 |    2 +
 drivers/net/ethernet/cavium/liquidio/octeon_iq.h                   |    2 +
 drivers/net/ethernet/cavium/liquidio/octeon_main.h                 |   32 +-
 drivers/net/ethernet/cavium/liquidio/octeon_mem_ops.c              |    1 -
 drivers/net/ethernet/cavium/liquidio/octeon_network.h              |   12 +-
 drivers/net/ethernet/cavium/liquidio/octeon_nic.c                  |   35 +-
 drivers/net/ethernet/cavium/liquidio/octeon_nic.h                  |    6 +-
 drivers/net/ethernet/cavium/liquidio/request_manager.c             |  170 +-
 drivers/net/ethernet/cavium/liquidio/response_manager.c            |    9 +-
 drivers/net/ethernet/cavium/thunder/Makefile                       |    1 +
 drivers/net/ethernet/cavium/thunder/nic.h                          |   87 +-
 drivers/net/ethernet/cavium/thunder/nic_main.c                     |  433 ++-
 drivers/net/ethernet/cavium/thunder/nic_reg.h                      |   15 +
 drivers/net/ethernet/cavium/thunder/nicvf_main.c                   |   77 +-
 drivers/net/ethernet/cavium/thunder/nicvf_queues.c                 |   89 +-
 drivers/net/ethernet/cavium/thunder/nicvf_queues.h                 |    5 +-
 drivers/net/ethernet/cavium/thunder/thunder_bgx.c                  |  460 ++-
 drivers/net/ethernet/cavium/thunder/thunder_bgx.h                  |   33 +-
 drivers/net/ethernet/cavium/thunder/thunder_xcv.c                  |  235 ++
 drivers/net/ethernet/chelsio/cxgb4/Makefile                        |    2 +-
 drivers/net/ethernet/chelsio/cxgb4/cxgb4.h                         |  193 +-
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c                 |  135 +-
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c                  |  721 +++++
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h                  |   48 +
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c                    | 1404 ++++-----
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c                  |  483 +++
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h                  |   57 +
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h            |  294 ++
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c                     |  696 +++++
 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h                     |   41 +-
 drivers/net/ethernet/chelsio/cxgb4/sched.c                         |  556 ++++
 drivers/net/ethernet/chelsio/cxgb4/sched.h                         |  110 +
 drivers/net/ethernet/chelsio/cxgb4/sge.c                           |   22 +-
 drivers/net/ethernet/chelsio/cxgb4/t4_hw.c                         |   74 +-
 drivers/net/ethernet/chelsio/cxgb4/t4_msg.h                        |  437 +++
 drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h                      |  164 +-
 drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c                |   26 +-
 drivers/net/ethernet/chelsio/cxgb4vf/sge.c                         |    7 +-
 drivers/net/ethernet/chelsio/cxgb4vf/t4vf_common.h                 |    3 +
 drivers/net/ethernet/chelsio/cxgb4vf/t4vf_hw.c                     |   63 +-
 drivers/net/ethernet/chelsio/libcxgb/Makefile                      |    4 +-
 drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.c                  |  149 +
 drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.h                  |  160 +
 drivers/net/ethernet/dec/tulip/de4x5.c                             |    4 +-
 drivers/net/ethernet/dec/tulip/de4x5.h                             |    4 +-
 drivers/net/ethernet/dlink/sundance.c                              |    2 +-
 drivers/net/ethernet/emulex/benet/be.h                             |   92 +-
 drivers/net/ethernet/emulex/benet/be_cmds.c                        |  277 +-
 drivers/net/ethernet/emulex/benet/be_cmds.h                        |   45 +-
 drivers/net/ethernet/emulex/benet/be_ethtool.c                     |   40 +
 drivers/net/ethernet/emulex/benet/be_hw.h                          |    7 +-
 drivers/net/ethernet/emulex/benet/be_main.c                        |  767 ++++-
 drivers/net/ethernet/faraday/ftgmac100.c                           |   99 +-
 drivers/net/ethernet/faraday/ftgmac100.h                           |    8 +-
 drivers/net/ethernet/freescale/fec_main.c                          |   18 +-
 drivers/net/ethernet/freescale/fman/fman_mac.h                     |    2 +-
 drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c              |  344 ++-
 drivers/net/ethernet/freescale/fs_enet/fs_enet.h                   |   16 +-
 drivers/net/ethernet/freescale/fs_enet/mac-fcc.c                   |   59 +-
 drivers/net/ethernet/freescale/fs_enet/mac-fec.c                   |   59 +-
 drivers/net/ethernet/freescale/fs_enet/mac-scc.c                   |   59 +-
 drivers/net/ethernet/freescale/fsl_pq_mdio.c                       |    8 +-
 drivers/net/ethernet/freescale/ucc_geth.c                          |    2 +-
 drivers/net/ethernet/freescale/xgmac_mdio.c                        |    7 +-
 drivers/net/ethernet/hisilicon/hip04_eth.c                         |    6 +-
 drivers/net/ethernet/hisilicon/hisi_femac.c                        |    8 +-
 drivers/net/ethernet/hisilicon/hix5hd2_gmac.c                      |    2 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c                  |    3 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c                 |  100 +-
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h                 |   30 +
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c                 |   36 +
 drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h                  |   12 +
 drivers/net/ethernet/hisilicon/hns/hns_enet.c                      |   23 +-
 drivers/net/ethernet/hisilicon/hns/hns_enet.h                      |    1 -
 drivers/net/ethernet/hisilicon/hns/hns_ethtool.c                   |  134 +-
 drivers/net/ethernet/i825xx/82596.c                                |    4 +-
 drivers/net/ethernet/ibm/emac/core.c                               |   10 +-
 drivers/net/ethernet/ibm/emac/mal.c                                |    5 +-
 drivers/net/ethernet/ibm/ibmvnic.c                                 |   57 +-
 drivers/net/ethernet/ibm/ibmvnic.h                                 |    2 +
 drivers/net/ethernet/intel/e1000e/ptp.c                            |    2 +-
 drivers/net/ethernet/intel/fm10k/fm10k.h                           |   12 +-
 drivers/net/ethernet/intel/fm10k/fm10k_common.c                    |    3 +
 drivers/net/ethernet/intel/fm10k/fm10k_common.h                    |    4 +-
 drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c                   |    3 +-
 drivers/net/ethernet/intel/fm10k/fm10k_iov.c                       |   10 +-
 drivers/net/ethernet/intel/fm10k/fm10k_main.c                      |   30 +-
 drivers/net/ethernet/intel/fm10k/fm10k_netdev.c                    |  193 +-
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c                       |   30 +-
 drivers/net/ethernet/intel/fm10k/fm10k_pf.c                        |   46 +-
 drivers/net/ethernet/intel/fm10k/fm10k_type.h                      |    1 +
 drivers/net/ethernet/intel/i40e/i40e.h                             |  142 +-
 drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h                  |   59 +-
 drivers/net/ethernet/intel/i40e/i40e_client.c                      |   39 +-
 drivers/net/ethernet/intel/i40e/i40e_client.h                      |    6 +-
 drivers/net/ethernet/intel/i40e/i40e_debugfs.c                     |   87 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c                     |  345 ++-
 drivers/net/ethernet/intel/i40e/i40e_main.c                        |  299 +-
 drivers/net/ethernet/intel/i40e/i40e_ptp.c                         |    2 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.c                        |  193 +-
 drivers/net/ethernet/intel/i40e/i40e_txrx.h                        |    9 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl.h                    |    1 +
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c                 |   36 +-
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h                 |    4 +-
 drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h                |   59 +-
 drivers/net/ethernet/intel/i40evf/i40e_common.c                    |    3 +-
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c                      |   64 +-
 drivers/net/ethernet/intel/i40evf/i40e_txrx.h                      |   17 +
 drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h                  |    1 +
 drivers/net/ethernet/intel/i40evf/i40evf.h                         |   65 +-
 drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c                 |  232 +-
 drivers/net/ethernet/intel/i40evf/i40evf_main.c                    |   41 +-
 drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c                |   65 +-
 drivers/net/ethernet/intel/igb/e1000_82575.h                       |    5 +
 drivers/net/ethernet/intel/igb/e1000_defines.h                     |    4 +
 drivers/net/ethernet/intel/igb/e1000_regs.h                        |    1 +
 drivers/net/ethernet/intel/igb/igb.h                               |   51 +
 drivers/net/ethernet/intel/igb/igb_ethtool.c                       |  345 +++
 drivers/net/ethernet/intel/igb/igb_main.c                          |   56 +-
 drivers/net/ethernet/intel/igb/igb_ptp.c                           |   11 +-
 drivers/net/ethernet/intel/igbvf/netdev.c                          |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h                           |   10 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_common.c                    |    1 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c                   |   33 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c                       |    7 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c                      |  244 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c                       |    4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c                       |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c                     |    9 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h                     |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_type.h                      |   11 +
 drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c                      |   82 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf.h                       |   11 +-
 drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c                  |    7 +-
 drivers/net/ethernet/intel/ixgbevf/vf.c                            |   21 +-
 drivers/net/ethernet/marvell/mvmdio.c                              |    3 +-
 drivers/net/ethernet/marvell/mvneta.c                              |   66 +-
 drivers/net/ethernet/marvell/mvneta_bm.h                           |    2 +-
 drivers/net/ethernet/marvell/sky2.c                                |    2 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c                        |  931 ++++--
 drivers/net/ethernet/mediatek/mtk_eth_soc.h                        |  155 +-
 drivers/net/ethernet/mellanox/mlx4/cmd.c                           |   81 +-
 drivers/net/ethernet/mellanox/mlx4/en_clock.c                      |    2 +-
 drivers/net/ethernet/mellanox/mlx4/en_netdev.c                     |   32 +-
 drivers/net/ethernet/mellanox/mlx4/en_rx.c                         |   46 +-
 drivers/net/ethernet/mellanox/mlx4/fw.c                            |  131 +-
 drivers/net/ethernet/mellanox/mlx4/fw.h                            |    4 +-
 drivers/net/ethernet/mellanox/mlx4/mlx4.h                          |    5 +
 drivers/net/ethernet/mellanox/mlx4/mlx4_en.h                       |    2 +-
 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c              |   40 +-
 drivers/net/ethernet/mellanox/mlx4/srq.c                           |   14 +-
 drivers/net/ethernet/mellanox/mlx5/core/Makefile                   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c                      |  290 +-
 drivers/net/ethernet/mellanox/mlx5/core/cq.c                       |  109 +-
 drivers/net/ethernet/mellanox/mlx5/core/debugfs.c                  |   50 +-
 drivers/net/ethernet/mellanox/mlx5/core/dev.c                      |  345 +++
 drivers/net/ethernet/mellanox/mlx5/core/en.h                       |  177 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_clock.c                 |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_common.c                |   23 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c               |    3 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c                    |   38 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c                  |  882 ++++--
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c                   |   37 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c                    |  638 ++--
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.h                 |   32 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c                    |  109 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_tx.c                    |   63 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_txrx.c                  |   67 +-
 drivers/net/ethernet/mellanox/mlx5/core/eq.c                       |   80 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.c                  |  397 ++-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h                  |   59 +-
 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c         |  222 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c                   |  232 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h                   |    8 +
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c                  |  118 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.h                  |   10 +
 drivers/net/ethernet/mellanox/mlx5/core/fw.c                       |   43 +-
 drivers/net/ethernet/mellanox/mlx5/core/lag.c                      |  588 ++++
 drivers/net/ethernet/mellanox/mlx5/core/mad.c                      |   41 +-
 drivers/net/ethernet/mellanox/mlx5/core/main.c                     |  479 ++-
 drivers/net/ethernet/mellanox/mlx5/core/mcg.c                      |   72 +-
 drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h                |   53 +-
 drivers/net/ethernet/mellanox/mlx5/core/mr.c                       |  189 +-
 drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c                |  167 +-
 drivers/net/ethernet/mellanox/mlx5/core/pd.c                       |   61 +-
 drivers/net/ethernet/mellanox/mlx5/core/port.c                     |  181 +-
 drivers/net/ethernet/mellanox/mlx5/core/qp.c                       |  299 +-
 drivers/net/ethernet/mellanox/mlx5/core/rl.c                       |   11 +-
 drivers/net/ethernet/mellanox/mlx5/core/sriov.c                    |  226 +-
 drivers/net/ethernet/mellanox/mlx5/core/srq.c                      |   49 +-
 drivers/net/ethernet/mellanox/mlx5/core/transobj.c                 |  183 +-
 drivers/net/ethernet/mellanox/mlx5/core/uar.c                      |   67 +-
 drivers/net/ethernet/mellanox/mlx5/core/vport.c                    |   94 +-
 drivers/net/ethernet/mellanox/mlx5/core/vxlan.c                    |   29 +-
 drivers/net/ethernet/mellanox/mlxsw/core.c                         |   26 +-
 drivers/net/ethernet/mellanox/mlxsw/core.h                         |   42 +-
 drivers/net/ethernet/mellanox/mlxsw/pci.c                          |  135 +-
 drivers/net/ethernet/mellanox/mlxsw/reg.h                          |   29 +-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c                     |  724 +++--
 drivers/net/ethernet/mellanox/mlxsw/spectrum.h                     |   41 +-
 drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c             |   15 +-
 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c              |  478 ++-
 drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c           |  141 +-
 drivers/net/ethernet/mellanox/mlxsw/switchx2.c                     |    6 +-
 drivers/net/ethernet/natsemi/ns83820.c                             |    2 +-
 drivers/net/ethernet/netronome/nfp/Makefile                        |    7 +
 drivers/net/ethernet/netronome/nfp/nfp_asm.h                       |  233 ++
 drivers/net/ethernet/netronome/nfp/nfp_bpf.h                       |  202 ++
 drivers/net/ethernet/netronome/nfp/nfp_bpf_jit.c                   | 1813 +++++++++++
 drivers/net/ethernet/netronome/nfp/nfp_bpf_verifier.c              |  171 ++
 drivers/net/ethernet/netronome/nfp/nfp_net.h                       |   47 +-
 drivers/net/ethernet/netronome/nfp/nfp_net_common.c                |  134 +-
 drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h                  |   51 +-
 drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c               |   12 +
 drivers/net/ethernet/netronome/nfp/nfp_net_offload.c               |  294 ++
 drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c                |    2 +-
 drivers/net/ethernet/nuvoton/w90p910_ether.c                       |    2 +-
 drivers/net/ethernet/qlogic/Kconfig                                |   14 +
 drivers/net/ethernet/qlogic/qed/Makefile                           |    4 +-
 drivers/net/ethernet/qlogic/qed/qed.h                              |   71 +-
 drivers/net/ethernet/qlogic/qed/qed_cxt.c                          |   75 +-
 drivers/net/ethernet/qlogic/qed/qed_cxt.h                          |    7 +
 drivers/net/ethernet/qlogic/qed/qed_dcbx.c                         |   24 +-
 drivers/net/ethernet/qlogic/qed/qed_debug.c                        | 6898 ++++++++++++++++++++++++++++++++++++++++++
 drivers/net/ethernet/qlogic/qed/qed_debug.h                        |   54 +
 drivers/net/ethernet/qlogic/qed/qed_dev.c                          |  489 ++-
 drivers/net/ethernet/qlogic/qed/qed_dev_api.h                      |   20 +
 drivers/net/ethernet/qlogic/qed/qed_hsi.h                          | 2500 +++++++++++----
 drivers/net/ethernet/qlogic/qed/qed_hw.c                           |  149 +-
 drivers/net/ethernet/qlogic/qed/qed_init_ops.c                     |   99 +-
 drivers/net/ethernet/qlogic/qed/qed_int.c                          |  153 +-
 drivers/net/ethernet/qlogic/qed/qed_l2.c                           |  259 +-
 drivers/net/ethernet/qlogic/qed/qed_l2.h                           |    7 +-
 drivers/net/ethernet/qlogic/qed/qed_ll2.c                          | 1792 +++++++++++
 drivers/net/ethernet/qlogic/qed/qed_ll2.h                          |  316 ++
 drivers/net/ethernet/qlogic/qed/qed_main.c                         |  239 +-
 drivers/net/ethernet/qlogic/qed/qed_mcp.c                          |  234 +-
 drivers/net/ethernet/qlogic/qed/qed_mcp.h                          |   96 +-
 drivers/net/ethernet/qlogic/qed/qed_reg_addr.h                     |  934 ++++++
 drivers/net/ethernet/qlogic/qed/qed_roce.c                         | 2954 ++++++++++++++++++
 drivers/net/ethernet/qlogic/qed/qed_roce.h                         |  216 ++
 drivers/net/ethernet/qlogic/qed/qed_selftest.c                     |    1 +
 drivers/net/ethernet/qlogic/qed/qed_sp.h                           |    5 +
 drivers/net/ethernet/qlogic/qed/qed_sp_commands.c                  |   15 +-
 drivers/net/ethernet/qlogic/qed/qed_spq.c                          |  131 +-
 drivers/net/ethernet/qlogic/qed/qed_sriov.c                        |  237 +-
 drivers/net/ethernet/qlogic/qed/qed_vf.c                           |  249 +-
 drivers/net/ethernet/qlogic/qed/qed_vf.h                           |    7 +-
 drivers/net/ethernet/qlogic/qede/Makefile                          |    1 +
 drivers/net/ethernet/qlogic/qede/qede.h                            |   48 +-
 drivers/net/ethernet/qlogic/qede/qede_ethtool.c                    |  314 +-
 drivers/net/ethernet/qlogic/qede/qede_main.c                       |  518 ++--
 drivers/net/ethernet/qlogic/qede/qede_roce.c                       |  314 ++
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c                   |    7 +-
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov.h                  |    2 +-
 drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c               |    5 +-
 drivers/net/ethernet/qualcomm/Kconfig                              |   12 +
 drivers/net/ethernet/qualcomm/Makefile                             |    2 +
 drivers/net/ethernet/qualcomm/emac/Makefile                        |    7 +
 drivers/net/ethernet/qualcomm/emac/emac-mac.c                      | 1528 ++++++++++
 drivers/net/ethernet/qualcomm/emac/emac-mac.h                      |  248 ++
 drivers/net/ethernet/qualcomm/emac/emac-phy.c                      |  227 ++
 drivers/net/ethernet/qualcomm/emac/emac-phy.h                      |   33 +
 drivers/net/ethernet/qualcomm/emac/emac-sgmii.c                    |  784 +++++
 drivers/net/ethernet/qualcomm/emac/emac-sgmii.h                    |   24 +
 drivers/net/ethernet/qualcomm/emac/emac.c                          |  755 +++++
 drivers/net/ethernet/qualcomm/emac/emac.h                          |  335 ++
 drivers/net/ethernet/rdc/r6040.c                                   |    6 +-
 drivers/net/ethernet/renesas/Kconfig                               |    2 +-
 drivers/net/ethernet/renesas/ravb.h                                |    1 -
 drivers/net/ethernet/renesas/ravb_main.c                           |  123 +-
 drivers/net/ethernet/renesas/sh_eth.c                              |   45 +-
 drivers/net/ethernet/renesas/sh_eth.h                              |    1 -
 drivers/net/ethernet/rocker/rocker.h                               |   15 +-
 drivers/net/ethernet/rocker/rocker_main.c                          |  122 +-
 drivers/net/ethernet/rocker/rocker_ofdpa.c                         |  119 +-
 drivers/net/ethernet/sfc/ef10.c                                    |  247 +-
 drivers/net/ethernet/sfc/efx.c                                     |  108 +-
 drivers/net/ethernet/sfc/efx.h                                     |    2 +
 drivers/net/ethernet/sfc/falcon.c                                  |    9 +-
 drivers/net/ethernet/sfc/falcon_boards.c                           |    4 +-
 drivers/net/ethernet/sfc/farch.c                                   |    3 +-
 drivers/net/ethernet/sfc/mcdi.c                                    |    8 +-
 drivers/net/ethernet/sfc/mcdi_pcol.h                               |  530 +++-
 drivers/net/ethernet/sfc/net_driver.h                              |   17 +-
 drivers/net/ethernet/sfc/nic.c                                     |    4 +-
 drivers/net/ethernet/sfc/nic.h                                     |    9 +-
 drivers/net/ethernet/sfc/ptp.c                                     |   16 +-
 drivers/net/ethernet/sfc/selftest.c                                |   10 +-
 drivers/net/ethernet/sfc/selftest.h                                |    2 +-
 drivers/net/ethernet/sfc/siena.c                                   |   14 +-
 drivers/net/ethernet/sfc/sriov.c                                   |    5 +-
 drivers/net/ethernet/sfc/sriov.h                                   |    2 +-
 drivers/net/ethernet/sfc/workarounds.h                             |    4 +
 drivers/net/ethernet/sis/sis900.c                                  |    4 +-
 drivers/net/ethernet/sis/sis900.h                                  |    2 +-
 drivers/net/ethernet/smsc/smc91x.c                                 |    3 +
 drivers/net/ethernet/smsc/smsc911x.c                               |    9 +
 drivers/net/ethernet/stmicro/stmmac/Kconfig                        |   12 +
 drivers/net/ethernet/stmicro/stmmac/Makefile                       |    1 +
 drivers/net/ethernet/stmicro/stmmac/common.h                       |    2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c                     |  254 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c                  |  194 ++
 drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c               |    2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c              |    1 +
 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c                   |    2 +-
 drivers/net/ethernet/synopsys/dwc_eth_qos.c                        |    4 +-
 drivers/net/ethernet/ti/cpmac.c                                    |    5 +-
 drivers/net/ethernet/ti/cpsw.c                                     | 1306 ++++----
 drivers/net/ethernet/ti/davinci_cpdma.c                            |   91 +-
 drivers/net/ethernet/ti/davinci_cpdma.h                            |   13 +-
 drivers/net/ethernet/ti/davinci_emac.c                             |   22 +-
 drivers/net/ethernet/toshiba/ps3_gelic_net.c                       |    4 +-
 drivers/net/ethernet/via/via-velocity.c                            |   21 +-
 drivers/net/ethernet/xilinx/Kconfig                                |    4 +-
 drivers/net/ethernet/xilinx/xilinx_axienet_main.c                  |    2 +-
 drivers/net/fjes/fjes_main.c                                       |    1 -
 drivers/net/hamradio/6pack.c                                       |   12 +-
 drivers/net/hamradio/bpqether.c                                    |    2 +-
 drivers/net/hyperv/hyperv_net.h                                    |   45 +-
 drivers/net/hyperv/netvsc.c                                        |  331 +-
 drivers/net/hyperv/netvsc_drv.c                                    |  411 +--
 drivers/net/hyperv/rndis_filter.c                                  |   41 +-
 drivers/net/ieee802154/fakelb.c                                    |   14 +-
 drivers/net/ipvlan/ipvlan.h                                        |    6 +
 drivers/net/ipvlan/ipvlan_core.c                                   |   94 +
 drivers/net/ipvlan/ipvlan_main.c                                   |   87 +-
 drivers/net/macsec.c                                               |    1 +
 drivers/net/phy/Kconfig                                            |  435 +--
 drivers/net/phy/Makefile                                           |   76 +-
 drivers/net/phy/microchip.c                                        |    2 +-
 drivers/net/phy/mscc.c                                             |  337 +++
 drivers/net/phy/xilinx_gmii2rgmii.c                                |  112 +
 drivers/net/ppp/ppp_generic.c                                      |   63 +-
 drivers/net/ppp/pptp.c                                             |   64 +-
 drivers/net/tun.c                                                  |   16 +-
 drivers/net/usb/asix.h                                             |   40 +-
 drivers/net/usb/asix_common.c                                      |  212 +-
 drivers/net/usb/asix_devices.c                                     |  450 ++-
 drivers/net/usb/ax88172a.c                                         |   29 +-
 drivers/net/usb/hso.c                                              |  138 +-
 drivers/net/usb/kaweth.c                                           |   15 -
 drivers/net/usb/lan78xx.c                                          |   28 +-
 drivers/net/usb/pegasus.c                                          |    3 +-
 drivers/net/usb/r8152.c                                            |   13 +-
 drivers/net/usb/smsc95xx.c                                         |  109 +-
 drivers/net/usb/smsc95xx.h                                         |    8 +
 drivers/net/usb/usbnet.c                                           |    5 +-
 drivers/net/veth.c                                                 |    3 +-
 drivers/net/vmxnet3/vmxnet3_drv.c                                  |    4 +-
 drivers/net/vrf.c                                                  |  294 +-
 drivers/net/vxlan.c                                                |   22 +-
 drivers/net/wan/fsl_ucc_hdlc.c                                     |    2 +-
 drivers/net/wan/sbni.c                                             |    4 +-
 drivers/net/wimax/i2400m/usb-notif.c                               |    1 -
 drivers/net/wireless/ath/ar5523/ar5523.c                           |    9 +-
 drivers/net/wireless/ath/ath10k/ahb.c                              |  119 +-
 drivers/net/wireless/ath/ath10k/bmi.c                              |    4 +-
 drivers/net/wireless/ath/ath10k/ce.c                               |   13 +-
 drivers/net/wireless/ath/ath10k/core.c                             |  142 +-
 drivers/net/wireless/ath/ath10k/core.h                             |   87 +-
 drivers/net/wireless/ath/ath10k/debug.c                            |   11 +-
 drivers/net/wireless/ath/ath10k/htc.c                              |    6 +-
 drivers/net/wireless/ath/ath10k/htt.h                              |   10 +-
 drivers/net/wireless/ath/ath10k/htt_rx.c                           |  199 +-
 drivers/net/wireless/ath/ath10k/htt_tx.c                           |    2 -
 drivers/net/wireless/ath/ath10k/hw.c                               |   15 +-
 drivers/net/wireless/ath/ath10k/hw.h                               |   81 +-
 drivers/net/wireless/ath/ath10k/mac.c                              |   72 +-
 drivers/net/wireless/ath/ath10k/pci.c                              |   77 +-
 drivers/net/wireless/ath/ath10k/pci.h                              |    6 +-
 drivers/net/wireless/ath/ath10k/swap.c                             |   26 +-
 drivers/net/wireless/ath/ath10k/swap.h                             |   11 +-
 drivers/net/wireless/ath/ath10k/targaddrs.h                        |    2 +-
 drivers/net/wireless/ath/ath10k/testmode.c                         |   27 +-
 drivers/net/wireless/ath/ath10k/thermal.c                          |    2 +-
 drivers/net/wireless/ath/ath10k/txrx.c                             |    4 +-
 drivers/net/wireless/ath/ath10k/wmi-ops.h                          |   33 +-
 drivers/net/wireless/ath/ath10k/wmi-tlv.c                          |   59 +-
 drivers/net/wireless/ath/ath10k/wmi.c                              |  192 +-
 drivers/net/wireless/ath/ath10k/wmi.h                              |   56 +-
 drivers/net/wireless/ath/ath5k/debug.c                             |    6 +-
 drivers/net/wireless/ath/ath6kl/cfg80211.c                         |    4 +-
 drivers/net/wireless/ath/ath6kl/hif.c                              |   11 +-
 drivers/net/wireless/ath/ath6kl/wmi.c                              |    2 +-
 drivers/net/wireless/ath/ath9k/Kconfig                             |    2 +-
 drivers/net/wireless/ath/ath9k/ar5008_phy.c                        |    9 +-
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c                     |    6 +-
 drivers/net/wireless/ath/ath9k/gpio.c                              |    2 +-
 drivers/net/wireless/ath/ath9k/main.c                              |    2 +-
 drivers/net/wireless/ath/ath9k/xmit.c                              |  104 +-
 drivers/net/wireless/ath/carl9170/usb.c                            |    6 +-
 drivers/net/wireless/ath/dfs_pattern_detector.c                    |    2 +-
 drivers/net/wireless/ath/wil6210/cfg80211.c                        |  151 +-
 drivers/net/wireless/ath/wil6210/debugfs.c                         |   53 +-
 drivers/net/wireless/ath/wil6210/fw.h                              |   14 +-
 drivers/net/wireless/ath/wil6210/fw_inc.c                          |   92 +-
 drivers/net/wireless/ath/wil6210/interrupt.c                       |   15 +-
 drivers/net/wireless/ath/wil6210/main.c                            |   63 +-
 drivers/net/wireless/ath/wil6210/netdev.c                          |   34 +-
 drivers/net/wireless/ath/wil6210/p2p.c                             |   46 +
 drivers/net/wireless/ath/wil6210/pcie_bus.c                        |    9 +-
 drivers/net/wireless/ath/wil6210/txrx.c                            |    9 +-
 drivers/net/wireless/ath/wil6210/wil6210.h                         |   11 +-
 drivers/net/wireless/ath/wil6210/wmi.c                             |   12 +-
 drivers/net/wireless/ath/wil6210/wmi.h                             |  932 +++++-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c            |    2 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c          |    3 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c        |   50 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c            |   55 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h            |    6 -
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c        |   17 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c        |    2 -
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c            |   14 +-
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.c      |    1 +
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c             |   12 +-
 drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h      |    2 +
 drivers/net/wireless/intel/iwlegacy/3945.c                         |    4 +-
 drivers/net/wireless/intel/iwlegacy/common.h                       |    4 +-
 drivers/net/wireless/intel/iwlwifi/dvm/ucode.c                     |   11 +-
 drivers/net/wireless/intel/iwlwifi/iwl-7000.c                      |   10 +-
 drivers/net/wireless/intel/iwlwifi/iwl-8000.c                      |   17 +-
 drivers/net/wireless/intel/iwlwifi/iwl-9000.c                      |   98 +-
 drivers/net/wireless/intel/iwlwifi/iwl-a000.c                      |    2 +-
 drivers/net/wireless/intel/iwlwifi/iwl-config.h                    |    9 +-
 drivers/net/wireless/intel/iwlwifi/iwl-csr.h                       |    2 +
 drivers/net/wireless/intel/iwlwifi/iwl-devtrace.c                  |    3 -
 drivers/net/wireless/intel/iwlwifi/iwl-fh.h                        |   72 +-
 drivers/net/wireless/intel/iwlwifi/iwl-fw-file.h                   |   29 +-
 drivers/net/wireless/intel/iwlwifi/iwl-fw.h                        |    9 +
 drivers/net/wireless/intel/iwlwifi/iwl-io.c                        |    2 +-
 drivers/net/wireless/intel/iwlwifi/iwl-notif-wait.c                |    8 +-
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c                 |  104 +-
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.h                 |   20 +-
 drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c                    |    2 +-
 drivers/net/wireless/intel/iwlwifi/iwl-prph.h                      |   19 +-
 drivers/net/wireless/intel/iwlwifi/iwl-trans.c                     |   12 +-
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h                     |   20 +-
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c               |   29 +-
 drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c                   |  184 ++
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api-power.h              |   21 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api-scan.h               |   20 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api-sta.h                |   31 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api-tx.h                 |   97 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw-api.h                    |   82 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c                    |    4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c                        |  180 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c                  |   47 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c                  |   60 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h                       |   44 +-
 drivers/net/wireless/intel/iwlwifi/mvm/nvm.c                       |   93 +-
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c                       |   80 +-
 drivers/net/wireless/intel/iwlwifi/mvm/power.c                     |   15 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c                      |   44 +-
 drivers/net/wireless/intel/iwlwifi/mvm/scan.c                      |   88 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c                       |  391 ++-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h                       |   15 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tt.c                        |   10 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c                        |  252 +-
 drivers/net/wireless/intel/iwlwifi/mvm/utils.c                     |   48 +-
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c                      |   49 +-
 drivers/net/wireless/intel/iwlwifi/pcie/internal.h                 |  128 +-
 drivers/net/wireless/intel/iwlwifi/pcie/rx.c                       |   25 +-
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c                    |  370 ++-
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c                       |  410 ++-
 drivers/net/wireless/intersil/hostap/hostap_ioctl.c                |   20 +-
 drivers/net/wireless/intersil/orinoco/orinoco_usb.c                |    4 +-
 drivers/net/wireless/mac80211_hwsim.c                              |    3 +-
 drivers/net/wireless/marvell/libertas_tf/if_usb.c                  |   12 +-
 drivers/net/wireless/marvell/mwifiex/11h.c                         |   27 +-
 drivers/net/wireless/marvell/mwifiex/11n.h                         |    7 +-
 drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c               |   78 +-
 drivers/net/wireless/marvell/mwifiex/11n_rxreorder.h               |    3 +-
 drivers/net/wireless/marvell/mwifiex/cfg80211.c                    |  167 +-
 drivers/net/wireless/marvell/mwifiex/cmdevt.c                      |   26 +-
 drivers/net/wireless/marvell/mwifiex/debugfs.c                     |    2 +
 drivers/net/wireless/marvell/mwifiex/fw.h                          |   74 +-
 drivers/net/wireless/marvell/mwifiex/init.c                        |   22 +-
 drivers/net/wireless/marvell/mwifiex/ioctl.h                       |    1 +
 drivers/net/wireless/marvell/mwifiex/join.c                        |    3 +-
 drivers/net/wireless/marvell/mwifiex/main.c                        |  270 +-
 drivers/net/wireless/marvell/mwifiex/main.h                        |    7 +
 drivers/net/wireless/marvell/mwifiex/pcie.c                        |  182 +-
 drivers/net/wireless/marvell/mwifiex/pcie.h                        |   13 +-
 drivers/net/wireless/marvell/mwifiex/scan.c                        |   28 +-
 drivers/net/wireless/marvell/mwifiex/sdio.c                        |    6 +-
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c                     |   66 +-
 drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c                 |  137 +-
 drivers/net/wireless/marvell/mwifiex/sta_event.c                   |  144 +-
 drivers/net/wireless/marvell/mwifiex/sta_ioctl.c                   |    6 +-
 drivers/net/wireless/marvell/mwifiex/uap_event.c                   |    7 +-
 drivers/net/wireless/marvell/mwifiex/usb.c                         |   62 +-
 drivers/net/wireless/marvell/mwifiex/usb.h                         |    3 +-
 drivers/net/wireless/marvell/mwifiex/util.c                        |    1 +
 drivers/net/wireless/mediatek/mt7601u/dma.c                        |    2 +-
 drivers/net/wireless/mediatek/mt7601u/dma.h                        |   10 +-
 drivers/net/wireless/mediatek/mt7601u/eeprom.c                     |   12 +-
 drivers/net/wireless/mediatek/mt7601u/init.c                       |   10 +-
 drivers/net/wireless/mediatek/mt7601u/mac.c                        |   38 +-
 drivers/net/wireless/mediatek/mt7601u/main.c                       |    1 -
 drivers/net/wireless/mediatek/mt7601u/mcu.c                        |   20 +-
 drivers/net/wireless/mediatek/mt7601u/mt7601u.h                    |    4 +-
 drivers/net/wireless/mediatek/mt7601u/phy.c                        |   44 +-
 drivers/net/wireless/mediatek/mt7601u/regs.h                       |    4 -
 drivers/net/wireless/mediatek/mt7601u/tx.c                         |   19 +-
 drivers/net/wireless/mediatek/mt7601u/util.h                       |   77 -
 drivers/net/wireless/ralink/rt2x00/rt2x00usb.c                     |    4 +-
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h                   |   29 +-
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192c.c             |    5 +
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c             |  146 +-
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723a.c             |    5 +
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c             |    7 +
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c              |  371 +--
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_regs.h              |   61 +
 drivers/net/wireless/realtek/rtlwifi/core.c                        |    5 +-
 drivers/net/wireless/realtek/rtlwifi/pci.c                         |    3 +-
 drivers/net/wireless/realtek/rtlwifi/ps.c                          |    2 +-
 drivers/net/wireless/realtek/rtlwifi/regd.c                        |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/fw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c                |   11 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c               |   10 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8188ee/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192c/fw_common.c          |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c         |    8 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ce/hw.c                |    9 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ce/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ce/phy.c               |    7 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192cu/hw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192cu/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192cu/phy.c               |    7 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/fw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/hw.c                |   14 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c               |   21 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192de/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ee/fw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ee/hw.c                |   11 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ee/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ee/phy.c               |   10 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192ee/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192se/hw.c                |   11 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192se/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192se/phy.c               |    5 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8192se/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/fw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/hw.c                |   13 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c               |   10 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723ae/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723be/fw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c                |   12 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723be/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723be/phy.c               |   12 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8723be/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/fw.c                |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c                |    9 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/led.c               |    4 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c               |   20 +-
 drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c                |    2 +-
 drivers/net/wireless/realtek/rtlwifi/usb.c                         |    8 +-
 drivers/net/wireless/realtek/rtlwifi/wifi.h                        |  208 +-
 drivers/net/wireless/ti/wl18xx/acx.c                               |   29 +
 drivers/net/wireless/ti/wl18xx/acx.h                               |   13 +
 drivers/net/wireless/ti/wl18xx/event.c                             |    1 +
 drivers/net/wireless/ti/wl18xx/main.c                              |   19 +-
 drivers/net/wireless/ti/wlcore/boot.c                              |   15 +-
 drivers/net/wireless/ti/wlcore/main.c                              |   37 +-
 drivers/net/wireless/ti/wlcore/sdio.c                              |   76 +-
 drivers/net/wireless/ti/wlcore/spi.c                               |   48 +-
 drivers/net/wireless/ti/wlcore/wlcore.h                            |    3 +
 drivers/net/wireless/ti/wlcore/wlcore_i.h                          |   13 +-
 drivers/net/wireless/wl3501_cs.c                                   |    7 +-
 drivers/net/wireless/zydas/zd1211rw/zd_usb.c                       |    2 +-
 drivers/net/xen-netback/common.h                                   |    4 +-
 drivers/net/xen-netback/hash.c                                     |   13 +-
 drivers/net/xen-netback/interface.c                                |   38 +-
 drivers/net/xen-netback/netback.c                                  |   18 +-
 drivers/net/xen-netfront.c                                         |   15 +
 drivers/ptp/ptp_clock.c                                            |    1 +
 drivers/ptp/ptp_ixp46x.c                                           |   15 +-
 drivers/scsi/cxgbi/cxgb4i/cxgb4i.c                                 |    3 +
 drivers/staging/octeon/ethernet-mdio.c                             |   63 +-
 drivers/staging/octeon/ethernet-rgmii.c                            |    2 +-
 drivers/staging/octeon/ethernet.c                                  |   12 +-
 drivers/staging/octeon/octeon-ethernet.h                           |    1 -
 drivers/target/iscsi/cxgbit/cxgbit_cm.c                            |  234 +-
 drivers/target/iscsi/cxgbit/cxgbit_main.c                          |    3 +
 fs/afs/callback.c                                                  |    4 +-
 fs/afs/cmservice.c                                                 |  168 +-
 fs/afs/flock.c                                                     |    4 +-
 fs/afs/fsclient.c                                                  |  148 +-
 fs/afs/internal.h                                                  |   38 +-
 fs/afs/main.c                                                      |    1 +
 fs/afs/rxrpc.c                                                     |  522 ++--
 fs/afs/server.c                                                    |   11 +-
 fs/afs/vlclient.c                                                  |    7 +-
 fs/afs/vlocation.c                                                 |    4 +-
 fs/proc/generic.c                                                  |    2 +
 fs/proc/proc_net.c                                                 |   13 +
 fs/proc/proc_sysctl.c                                              |    5 +
 include/dt-bindings/net/mscc-phy-vsc8531.h                         |   21 +
 include/linux/bcma/bcma.h                                          |    3 +
 include/linux/bcma/bcma_regs.h                                     |    1 +
 include/linux/bitfield.h                                           |   93 +
 include/linux/bpf.h                                                |   15 +-
 include/linux/bpf_verifier.h                                       |  102 +
 include/linux/bug.h                                                |    3 +
 include/linux/cgroup.h                                             |   23 +
 include/linux/filter.h                                             |   64 +
 include/linux/hyperv.h                                             |    7 +
 include/linux/if_bridge.h                                          |    1 +
 include/linux/if_link.h                                            |    1 +
 include/linux/if_vlan.h                                            |   34 +-
 include/linux/inet_diag.h                                          |    4 +-
 include/linux/ipv6.h                                               |    1 +
 include/linux/ktime.h                                              |    5 +
 include/linux/mlx4/cmd.h                                           |    3 +-
 include/linux/mlx4/device.h                                        |    3 +
 include/linux/mlx4/qp.h                                            |    2 +
 include/linux/mlx5/cq.h                                            |    6 +-
 include/linux/mlx5/device.h                                        |  441 +--
 include/linux/mlx5/driver.h                                        |   35 +-
 include/linux/mlx5/fs.h                                            |    6 +
 include/linux/mlx5/mlx5_ifc.h                                      |  297 +-
 include/linux/mlx5/port.h                                          |   40 +-
 include/linux/mlx5/qp.h                                            |  128 +-
 include/linux/mlx5/vport.h                                         |    2 +
 include/linux/mmc/sdio_ids.h                                       |    1 +
 include/linux/net.h                                                |    6 +
 include/linux/netdevice.h                                          |   35 +-
 include/linux/netfilter.h                                          |   63 +-
 include/linux/netfilter/nf_conntrack_common.h                      |    4 -
 include/linux/netfilter/nf_conntrack_proto_gre.h                   |   64 +-
 include/linux/netfilter_ingress.h                                  |   18 +-
 include/linux/perf_event.h                                         |    9 +
 include/linux/phy.h                                                |    3 +
 include/linux/ptp_clock_kernel.h                                   |    5 +
 include/linux/qed/common_hsi.h                                     |  359 ++-
 include/linux/qed/eth_common.h                                     |  155 +-
 include/linux/qed/iscsi_common.h                                   |   28 +-
 include/linux/qed/qed_chain.h                                      |   13 -
 include/linux/qed/qed_eth_if.h                                     |    3 +
 include/linux/qed/qed_if.h                                         |   36 +-
 include/linux/qed/qed_ll2_if.h                                     |  139 +
 include/linux/qed/qed_roce_if.h                                    |  604 ++++
 include/linux/qed/qede_roce.h                                      |   88 +
 include/linux/qed/rdma_common.h                                    |    1 +
 include/linux/qed/tcp_common.h                                     |   16 +-
 include/linux/rhashtable.h                                         |  543 +++-
 include/linux/rtnetlink.h                                          |    2 +-
 include/linux/skbuff.h                                             |   73 +-
 include/linux/sysctl.h                                             |    4 +
 include/linux/tcp.h                                                |   21 +-
 include/linux/win_minmax.h                                         |   37 +
 include/net/addrconf.h                                             |    3 +-
 include/net/af_rxrpc.h                                             |   53 +-
 include/net/bluetooth/bluetooth.h                                  |    4 +-
 include/net/bluetooth/hci.h                                        |    7 +-
 include/net/bluetooth/hci_core.h                                   |   11 +-
 include/net/bluetooth/hci_mon.h                                    |    4 +
 include/net/bluetooth/mgmt.h                                       |   24 +
 include/net/cfg80211.h                                             |  259 +-
 include/net/devlink.h                                              |    1 -
 include/net/dsa.h                                                  |   53 +-
 include/net/dst_metadata.h                                         |   52 +-
 include/net/flow.h                                                 |    3 +-
 include/net/flow_dissector.h                                       |   14 +-
 include/net/fq.h                                                   |    3 +
 include/net/fq_impl.h                                              |    7 +-
 include/net/gre.h                                                  |   10 +-
 include/net/ieee80211_radiotap.h                                   |   21 +
 include/net/if_inet6.h                                             |    1 +
 include/net/inet_connection_sock.h                                 |    4 +-
 include/net/ip.h                                                   |   23 +
 include/net/ip6_route.h                                            |    3 +
 include/net/ip6_tunnel.h                                           |    1 +
 include/net/ip_fib.h                                               |   49 +-
 include/net/ip_tunnels.h                                           |   21 +
 include/net/kcm.h                                                  |   37 +-
 include/net/l3mdev.h                                               |  153 +-
 include/net/lwtunnel.h                                             |   44 +
 include/net/mac80211.h                                             |  108 +-
 include/net/mpls.h                                                 |   15 +-
 include/net/ncsi.h                                                 |    5 +
 include/net/netfilter/br_netfilter.h                               |    6 +
 include/net/netfilter/nf_conntrack.h                               |   56 +-
 include/net/netfilter/nf_conntrack_core.h                          |    3 -
 include/net/netfilter/nf_conntrack_ecache.h                        |   17 +-
 include/net/netfilter/nf_conntrack_l3proto.h                       |    4 -
 include/net/netfilter/nf_conntrack_l4proto.h                       |    8 -
 include/net/netfilter/nf_log.h                                     |   14 +-
 include/net/netfilter/nf_queue.h                                   |   69 +-
 include/net/netfilter/nf_tables.h                                  |   22 +-
 include/net/netfilter/nf_tables_bridge.h                           |    7 -
 include/net/netfilter/nf_tables_core.h                             |    3 +
 include/net/netfilter/nf_tables_ipv4.h                             |   43 +
 include/net/netfilter/nf_tables_ipv6.h                             |   53 +-
 include/net/netns/conntrack.h                                      |    8 -
 include/net/netns/ipv4.h                                           |    1 -
 include/net/netns/netfilter.h                                      |    2 +-
 include/net/netns/xfrm.h                                           |   12 +-
 include/net/pkt_cls.h                                              |   24 +-
 include/net/pkt_sched.h                                            |    4 +-
 include/net/pptp.h                                                 |   23 +
 include/net/route.h                                                |   10 -
 include/net/sch_generic.h                                          |   76 +-
 include/net/sctp/sctp.h                                            |   10 +-
 include/net/sctp/sm.h                                              |   94 +-
 include/net/sctp/structs.h                                         |    5 +-
 include/net/sock.h                                                 |   13 +-
 include/net/strparser.h                                            |  142 +
 include/net/switchdev.h                                            |   52 +-
 include/net/tc_act/tc_ife.h                                        |    2 +
 include/net/tc_act/tc_skbmod.h                                     |   30 +
 include/net/tc_act/tc_tunnel_key.h                                 |   30 +
 include/net/tc_act/tc_vlan.h                                       |   26 +
 include/net/tcp.h                                                  |   63 +-
 include/net/udp.h                                                  |    1 +
 include/net/vxlan.h                                                |   18 -
 include/net/xfrm.h                                                 |    2 +-
 include/rxrpc/packet.h                                             |   17 +-
 include/trace/events/rxrpc.h                                       |  625 ++++
 include/uapi/linux/Kbuild                                          |    1 +
 include/uapi/linux/batman_adv.h                                    |   94 +
 include/uapi/linux/bpf.h                                           |   51 +
 include/uapi/linux/bpf_perf_event.h                                |   18 +
 include/uapi/linux/ethtool.h                                       |   11 +-
 include/uapi/linux/if_bridge.h                                     |    2 +-
 include/uapi/linux/if_link.h                                       |   30 +-
 include/uapi/linux/if_tunnel.h                                     |   17 +-
 include/uapi/linux/inet_diag.h                                     |   20 +
 include/uapi/linux/ipv6.h                                          |    1 +
 include/uapi/linux/mii.h                                           |    1 +
 include/uapi/linux/netfilter/nf_log.h                              |   12 +
 include/uapi/linux/netfilter/nf_tables.h                           |  106 +-
 include/uapi/linux/netfilter/nfnetlink_conntrack.h                 |    8 +-
 include/uapi/linux/netfilter/xt_hashlimit.h                        |   23 +
 include/uapi/linux/nl80211.h                                       |  270 +-
 include/uapi/linux/openvswitch.h                                   |   17 +-
 include/uapi/linux/pkt_cls.h                                       |   19 +
 include/uapi/linux/pkt_sched.h                                     |    4 +-
 include/uapi/linux/snmp.h                                          |    1 +
 include/uapi/linux/tc_act/tc_ife.h                                 |    3 +-
 include/uapi/linux/tc_act/tc_skbmod.h                              |   39 +
 include/uapi/linux/tc_act/tc_tunnel_key.h                          |   41 +
 include/uapi/linux/tc_act/tc_vlan.h                                |    2 +
 include/uapi/linux/tcp.h                                           |    3 +
 include/uapi/linux/tipc_netlink.h                                  |    4 +
 include/uapi/linux/xfrm.h                                          |    2 +-
 kernel/bpf/arraymap.c                                              |    2 +-
 kernel/bpf/core.c                                                  |    4 +-
 kernel/bpf/helpers.c                                               |   55 +-
 kernel/bpf/stackmap.c                                              |    5 +-
 kernel/bpf/verifier.c                                              |  919 ++++--
 kernel/events/core.c                                               |   89 +-
 kernel/trace/bpf_trace.c                                           |  160 +-
 lib/Makefile                                                       |    2 +-
 lib/random32.c                                                     |    4 +-
 lib/rhashtable.c                                                   |  300 +-
 lib/test_bpf.c                                                     |    1 +
 lib/win_minmax.c                                                   |   98 +
 net/6lowpan/ndisc.c                                                |    2 -
 net/Kconfig                                                        |    1 +
 net/Makefile                                                       |    1 +
 net/appletalk/ddp.c                                                |    2 +-
 net/atm/lec.c                                                      |   12 +-
 net/atm/mpc.c                                                      |    2 +-
 net/batman-adv/Kconfig                                             |   15 +-
 net/batman-adv/Makefile                                            |    4 +-
 net/batman-adv/bat_algo.c                                          |   70 +
 net/batman-adv/bat_algo.h                                          |    3 +
 net/batman-adv/bat_iv_ogm.c                                        |  837 ++++-
 net/batman-adv/bat_v.c                                             |  734 ++++-
 net/batman-adv/bat_v_ogm.c                                         |    5 +-
 net/batman-adv/bridge_loop_avoidance.c                             |  348 ++-
 net/batman-adv/bridge_loop_avoidance.h                             |   17 +-
 net/batman-adv/debugfs.c                                           |   18 +
 net/batman-adv/debugfs.h                                           |    2 +-
 net/batman-adv/distributed-arp-table.c                             |    4 +-
 net/batman-adv/gateway_client.c                                    |  285 +-
 net/batman-adv/gateway_client.h                                    |    7 +
 net/batman-adv/gateway_common.c                                    |    5 +-
 net/batman-adv/hard-interface.c                                    |   84 +-
 net/batman-adv/icmp_socket.h                                       |   18 +-
 net/batman-adv/main.c                                              |   19 +-
 net/batman-adv/main.h                                              |    2 +-
 net/batman-adv/multicast.c                                         |    4 +-
 net/batman-adv/netlink.c                                           |  221 +-
 net/batman-adv/netlink.h                                           |    6 +
 net/batman-adv/network-coding.c                                    |   11 +-
 net/batman-adv/originator.c                                        |  172 +-
 net/batman-adv/originator.h                                        |    4 +
 net/batman-adv/packet.h                                            |   36 -
 net/batman-adv/routing.c                                           |   43 +-
 net/batman-adv/send.c                                              |  136 +-
 net/batman-adv/send.h                                              |    6 +
 net/batman-adv/soft-interface.c                                    |   51 +-
 net/batman-adv/sysfs.c                                             |  183 +-
 net/batman-adv/translation-table.c                                 |  556 +++-
 net/batman-adv/translation-table.h                                 |    7 +
 net/batman-adv/tvlv.c                                              |    9 +
 net/batman-adv/types.h                                             |   69 +-
 net/bluetooth/af_bluetooth.c                                       |   15 +-
 net/bluetooth/hci_core.c                                           |    1 +
 net/bluetooth/hci_request.c                                        |   49 +-
 net/bluetooth/hci_request.h                                        |    5 +-
 net/bluetooth/hci_sock.c                                           |  396 ++-
 net/bluetooth/leds.c                                               |   27 +
 net/bluetooth/leds.h                                               |   10 +
 net/bluetooth/mgmt.c                                               |  353 ++-
 net/bluetooth/mgmt_util.c                                          |   66 +-
 net/bluetooth/smp.c                                                |    5 +-
 net/bridge/Makefile                                                |    2 +
 net/bridge/br.c                                                    |    6 +-
 net/bridge/br_device.c                                             |    8 +-
 net/bridge/br_fdb.c                                                |   23 +-
 net/bridge/br_forward.c                                            |   10 +-
 net/bridge/br_if.c                                                 |   12 +-
 net/bridge/br_input.c                                              |   42 +-
 net/bridge/br_netfilter_hooks.c                                    |   53 +-
 net/bridge/br_netfilter_ipv6.c                                     |   12 +-
 net/bridge/br_netlink.c                                            |  132 +-
 net/bridge/br_private.h                                            |   46 +-
 net/bridge/br_stp_if.c                                             |   43 +-
 net/bridge/br_switchdev.c                                          |   57 +
 net/bridge/br_sysfs_if.c                                           |    1 +
 net/bridge/netfilter/ebt_log.c                                     |    2 +-
 net/bridge/netfilter/ebt_redirect.c                                |    2 +-
 net/bridge/netfilter/ebtables.c                                    |    2 +-
 net/bridge/netfilter/nf_log_bridge.c                               |    3 +-
 net/bridge/netfilter/nf_tables_bridge.c                            |   92 +-
 net/bridge/netfilter/nft_reject_bridge.c                           |   44 +-
 net/core/dev.c                                                     |  159 +-
 net/core/drop_monitor.c                                            |    2 +-
 net/core/filter.c                                                  |  472 ++-
 net/core/flow_dissector.c                                          |  164 +-
 net/core/lwtunnel.c                                                |   35 +
 net/core/neighbour.c                                               |    3 +-
 net/core/net_namespace.c                                           |   60 +-
 net/core/pktgen.c                                                  |   21 +-
 net/core/rtnetlink.c                                               |  305 +-
 net/core/skbuff.c                                                  |  122 +-
 net/core/sock.c                                                    |   26 +-
 net/core/stream.c                                                  |    1 -
 net/dsa/Kconfig                                                    |    3 +
 net/dsa/Makefile                                                   |    1 +
 net/dsa/dsa.c                                                      |   89 +-
 net/dsa/dsa2.c                                                     |   26 +-
 net/dsa/dsa_priv.h                                                 |    2 +
 net/dsa/slave.c                                                    |  222 +-
 net/dsa/tag_qca.c                                                  |  138 +
 net/ipv4/Kconfig                                                   |   18 +
 net/ipv4/Makefile                                                  |    3 +-
 net/ipv4/af_inet.c                                                 |   37 +-
 net/ipv4/fib_frontend.c                                            |   36 +-
 net/ipv4/fib_rules.c                                               |   15 +-
 net/ipv4/fib_semantics.c                                           |    3 +-
 net/ipv4/fib_trie.c                                                |  176 +-
 net/ipv4/fou.c                                                     |    2 +-
 net/ipv4/gre_offload.c                                             |    6 +-
 net/ipv4/igmp.c                                                    |   10 +
 net/ipv4/inet_diag.c                                               |  107 +-
 net/ipv4/ip_gre.c                                                  |   23 +-
 net/ipv4/ip_output.c                                               |   21 +-
 net/ipv4/ip_sockglue.c                                             |    7 +-
 net/ipv4/ip_tunnel.c                                               |   76 +
 net/ipv4/ip_tunnel_core.c                                          |    2 +-
 net/ipv4/ipconfig.c                                                |   71 +-
 net/ipv4/ipip.c                                                    |   35 +-
 net/ipv4/netfilter/Kconfig                                         |   11 -
 net/ipv4/netfilter/Makefile                                        |    5 -
 net/ipv4/netfilter/ip_tables.c                                     |    2 +-
 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c                     |   72 +-
 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c              |  492 ---
 net/ipv4/netfilter/nf_conntrack_proto_icmp.c                       |   41 +-
 net/ipv4/netfilter/nf_dup_ipv4.c                                   |   10 +-
 net/ipv4/netfilter/nf_log_arp.c                                    |    7 +-
 net/ipv4/netfilter/nf_log_ipv4.c                                   |   13 +-
 net/ipv4/netfilter/nf_nat_proto_gre.c                              |   13 +-
 net/ipv4/netfilter/nf_tables_arp.c                                 |    7 +-
 net/ipv4/netfilter/nf_tables_ipv4.c                                |    5 +-
 net/ipv4/proc.c                                                    |  103 +-
 net/ipv4/raw.c                                                     |    6 -
 net/ipv4/route.c                                                   |   28 +-
 net/ipv4/tcp.c                                                     |   84 +-
 net/ipv4/tcp_bbr.c                                                 |  896 ++++++
 net/ipv4/tcp_cdg.c                                                 |   12 +-
 net/ipv4/tcp_cong.c                                                |    2 +-
 net/ipv4/tcp_input.c                                               |  531 ++--
 net/ipv4/tcp_ipv4.c                                                |   38 +-
 net/ipv4/tcp_metrics.c                                             |    2 +-
 net/ipv4/tcp_minisocks.c                                           |    6 +-
 net/ipv4/tcp_offload.c                                             |   13 +-
 net/ipv4/tcp_output.c                                              |  102 +-
 net/ipv4/tcp_rate.c                                                |  186 ++
 net/ipv4/tcp_timer.c                                               |    4 +
 net/ipv4/udp.c                                                     |   23 +-
 net/ipv4/udp_diag.c                                                |   89 +-
 net/ipv4/udp_offload.c                                             |    6 +-
 net/ipv4/udplite.c                                                 |    1 -
 net/ipv4/xfrm4_policy.c                                            |    2 +-
 net/ipv6/addrconf.c                                                |   94 +-
 net/ipv6/af_inet6.c                                                |    2 +
 net/ipv6/fib6_rules.c                                              |    3 +
 net/ipv6/ila/ila_common.c                                          |    1 -
 net/ipv6/ila/ila_lwt.c                                             |    2 +-
 net/ipv6/ila/ila_xlat.c                                            |    2 +-
 net/ipv6/ip6_fib.c                                                 |    6 +-
 net/ipv6/ip6_gre.c                                                 |   14 +-
 net/ipv6/ip6_offload.c                                             |    5 +-
 net/ipv6/ip6_output.c                                              |   27 +-
 net/ipv6/ip6_tunnel.c                                              |  188 +-
 net/ipv6/ip6_vti.c                                                 |   10 +-
 net/ipv6/mcast.c                                                   |   10 +
 net/ipv6/ndisc.c                                                   |   11 +-
 net/ipv6/netfilter/ip6_tables.c                                    |    2 +-
 net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c                     |    2 +-
 net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c                     |    2 +-
 net/ipv6/netfilter/nf_log_ipv6.c                                   |   21 +-
 net/ipv6/netfilter/nf_tables_ipv6.c                                |    9 +-
 net/ipv6/netfilter/nft_chain_route_ipv6.c                          |    4 +-
 net/ipv6/output_core.c                                             |    7 +
 net/ipv6/proc.c                                                    |   30 +-
 net/ipv6/raw.c                                                     |    7 +
 net/ipv6/route.c                                                   |   41 +-
 net/ipv6/sit.c                                                     |   12 +-
 net/ipv6/tcp_ipv6.c                                                |   27 +-
 net/ipv6/udp.c                                                     |   13 +-
 net/ipv6/udp_impl.h                                                |    2 -
 net/ipv6/udplite.c                                                 |    1 -
 net/ipv6/xfrm6_policy.c                                            |    2 +-
 net/irda/af_irda.c                                                 |    3 -
 net/kcm/Kconfig                                                    |    1 +
 net/kcm/kcmproc.c                                                  |   58 +-
 net/kcm/kcmsock.c                                                  |  483 +--
 net/l2tp/l2tp_core.h                                               |    2 +-
 net/l2tp/l2tp_eth.c                                                |    6 +-
 net/l2tp/l2tp_netlink.c                                            |    2 +-
 net/l2tp/l2tp_ppp.c                                                |   24 +-
 net/l3mdev/l3mdev.c                                                |  105 +-
 net/llc/af_llc.c                                                   |    4 +-
 net/mac80211/agg-rx.c                                              |   11 +-
 net/mac80211/cfg.c                                                 |  243 +-
 net/mac80211/chan.c                                                |    6 +
 net/mac80211/debugfs.c                                             |  160 +-
 net/mac80211/debugfs_netdev.c                                      |   49 +-
 net/mac80211/debugfs_sta.c                                         |   56 +-
 net/mac80211/driver-ops.c                                          |   17 +-
 net/mac80211/driver-ops.h                                          |  109 +-
 net/mac80211/ieee80211_i.h                                         |   39 +-
 net/mac80211/iface.c                                               |   49 +-
 net/mac80211/main.c                                                |   11 +
 net/mac80211/mesh_hwmp.c                                           |   27 +-
 net/mac80211/mesh_sync.c                                           |   12 +-
 net/mac80211/mlme.c                                                |   12 +-
 net/mac80211/offchannel.c                                          |    4 +-
 net/mac80211/pm.c                                                  |    3 +-
 net/mac80211/rx.c                                                  |   83 +-
 net/mac80211/scan.c                                                |    2 +-
 net/mac80211/sta_info.c                                            |   92 +-
 net/mac80211/sta_info.h                                            |   24 +-
 net/mac80211/status.c                                              |   15 +-
 net/mac80211/trace.h                                               |  159 +
 net/mac80211/tx.c                                                  |  469 +--
 net/mac80211/util.c                                                |   64 +-
 net/mac802154/iface.c                                              |    1 +
 net/mac802154/rx.c                                                 |    9 +-
 net/mpls/af_mpls.c                                                 |    5 -
 net/mpls/internal.h                                                |   10 +-
 net/mpls/mpls_gso.c                                                |   40 +-
 net/mpls/mpls_iptunnel.c                                           |   13 +-
 net/ncsi/internal.h                                                |   22 +-
 net/ncsi/ncsi-aen.c                                                |   37 +-
 net/ncsi/ncsi-cmd.c                                                |    2 +-
 net/ncsi/ncsi-manage.c                                             |  198 +-
 net/ncsi/ncsi-rsp.c                                                |    4 +-
 net/netfilter/Kconfig                                              |   22 +-
 net/netfilter/Makefile                                             |   10 +-
 net/netfilter/core.c                                               |  203 +-
 net/netfilter/ipvs/ip_vs_nfct.c                                    |    7 +-
 net/netfilter/nf_conntrack_core.c                                  |  245 +-
 net/netfilter/nf_conntrack_ecache.c                                |   22 +-
 net/netfilter/nf_conntrack_ftp.c                                   |   17 +-
 net/netfilter/nf_conntrack_h323_main.c                             |    2 +-
 net/netfilter/nf_conntrack_helper.c                                |   17 +-
 net/netfilter/nf_conntrack_netlink.c                               |   50 +-
 net/netfilter/nf_conntrack_pptp.c                                  |    3 +-
 net/netfilter/nf_conntrack_proto.c                                 |   81 +-
 net/netfilter/nf_conntrack_proto_dccp.c                            |    3 +-
 net/netfilter/nf_conntrack_proto_generic.c                         |   39 +-
 net/netfilter/nf_conntrack_proto_gre.c                             |   14 +-
 net/netfilter/nf_conntrack_proto_sctp.c                            |   89 +-
 net/netfilter/nf_conntrack_proto_tcp.c                             |  131 +-
 net/netfilter/nf_conntrack_proto_udp.c                             |   53 +-
 net/netfilter/nf_conntrack_proto_udplite.c                         |    3 +-
 net/netfilter/nf_conntrack_seqadj.c                                |   20 +-
 net/netfilter/nf_conntrack_sip.c                                   |   10 +-
 net/netfilter/nf_conntrack_standalone.c                            |   16 +-
 net/netfilter/nf_internals.h                                       |   10 +-
 net/netfilter/nf_log.c                                             |    8 +-
 net/netfilter/nf_log_common.c                                      |    4 +-
 net/netfilter/nf_nat_core.c                                        |    6 -
 net/netfilter/nf_queue.c                                           |   18 +-
 net/netfilter/nf_tables_api.c                                      |  228 +-
 net/netfilter/nf_tables_core.c                                     |   16 +-
 net/netfilter/nf_tables_inet.c                                     |    5 +-
 net/netfilter/nf_tables_netdev.c                                   |  101 +-
 net/netfilter/nf_tables_trace.c                                    |   20 +-
 net/netfilter/nfnetlink_cthelper.c                                 |    2 +-
 net/netfilter/nfnetlink_log.c                                      |    8 +-
 net/netfilter/nfnetlink_queue.c                                    |   19 +-
 net/netfilter/nft_bitwise.c                                        |    8 +-
 net/netfilter/nft_byteorder.c                                      |   15 +-
 net/netfilter/nft_cmp.c                                            |    3 +
 net/netfilter/nft_ct.c                                             |   21 +-
 net/netfilter/nft_dynset.c                                         |   20 +-
 net/netfilter/nft_exthdr.c                                         |   12 +-
 net/netfilter/nft_hash.c                                           |  424 +--
 net/netfilter/nft_immediate.c                                      |    4 +
 net/netfilter/nft_log.c                                            |    9 +-
 net/netfilter/nft_lookup.c                                         |    2 +-
 net/netfilter/nft_meta.c                                           |    2 +
 net/netfilter/nft_numgen.c                                         |  212 ++
 net/netfilter/nft_payload.c                                        |    4 +
 net/netfilter/nft_queue.c                                          |  113 +-
 net/netfilter/nft_quota.c                                          |  121 +
 net/netfilter/nft_range.c                                          |  138 +
 net/netfilter/nft_set_hash.c                                       |  404 +++
 net/netfilter/{nft_rbtree.c => nft_set_rbtree.c}                   |   12 +-
 net/netfilter/xt_RATEEST.c                                         |    6 +-
 net/netfilter/xt_TCPMSS.c                                          |   12 +-
 net/netfilter/xt_TEE.c                                             |    8 +-
 net/netfilter/xt_connlimit.c                                       |    8 +-
 net/netfilter/xt_conntrack.c                                       |    4 +-
 net/netfilter/xt_hashlimit.c                                       |  339 ++-
 net/netfilter/xt_helper.c                                          |    4 +-
 net/netfilter/xt_physdev.c                                         |    4 +-
 net/netfilter/xt_recent.c                                          |    7 +-
 net/netfilter/xt_sctp.c                                            |    2 +-
 net/netlink/diag.c                                                 |  102 +-
 net/netlink/genetlink.c                                            |    4 +-
 net/openvswitch/actions.c                                          |   79 +-
 net/openvswitch/conntrack.c                                        |    2 +-
 net/openvswitch/datapath.c                                         |   25 +-
 net/openvswitch/flow.c                                             |  118 +-
 net/openvswitch/flow.h                                             |   12 +-
 net/openvswitch/flow_netlink.c                                     |  316 +-
 net/openvswitch/flow_netlink.h                                     |    3 +-
 net/openvswitch/flow_table.c                                       |   25 +-
 net/openvswitch/vport.c                                            |    7 +-
 net/rds/ib.h                                                       |    1 +
 net/rds/rds.h                                                      |    1 +
 net/rxrpc/Kconfig                                                  |   14 +
 net/rxrpc/Makefile                                                 |    1 +
 net/rxrpc/af_rxrpc.c                                               |  175 +-
 net/rxrpc/ar-internal.h                                            |  832 +++--
 net/rxrpc/call_accept.c                                            |  717 +++--
 net/rxrpc/call_event.c                                             | 1426 ++-------
 net/rxrpc/call_object.c                                            |  796 ++---
 net/rxrpc/conn_client.c                                            |  993 +++++-
 net/rxrpc/conn_event.c                                             |  271 +-
 net/rxrpc/conn_object.c                                            |  204 +-
 net/rxrpc/conn_service.c                                           |  117 +-
 net/rxrpc/input.c                                                  | 1399 ++++++---
 net/rxrpc/insecure.c                                               |   26 +-
 net/rxrpc/local_event.c                                            |   19 +-
 net/rxrpc/local_object.c                                           |   51 +-
 net/rxrpc/misc.c                                                   |  192 +-
 net/rxrpc/output.c                                                 |  933 ++----
 net/rxrpc/peer_event.c                                             |  103 +-
 net/rxrpc/peer_object.c                                            |  199 +-
 net/rxrpc/proc.c                                                   |   72 +-
 net/rxrpc/recvmsg.c                                                |  866 ++++--
 net/rxrpc/rxkad.c                                                  |  209 +-
 net/rxrpc/security.c                                               |   18 +-
 net/rxrpc/sendmsg.c                                                |  606 ++++
 net/rxrpc/skbuff.c                                                 |  174 +-
 net/rxrpc/sysctl.c                                                 |   45 +-
 net/rxrpc/utils.c                                                  |    2 +
 net/sched/Kconfig                                                  |   27 +
 net/sched/Makefile                                                 |    3 +
 net/sched/act_api.c                                                |   36 +-
 net/sched/act_bpf.c                                                |    5 +-
 net/sched/act_csum.c                                               |   36 +-
 net/sched/act_gact.c                                               |    3 +-
 net/sched/act_ife.c                                                |   26 +
 net/sched/act_meta_skbtcindex.c                                    |   79 +
 net/sched/act_mirred.c                                             |   11 +-
 net/sched/act_police.c                                             |   12 +-
 net/sched/act_skbmod.c                                             |  301 ++
 net/sched/act_tunnel_key.c                                         |  342 +++
 net/sched/act_vlan.c                                               |   51 +-
 net/sched/cls_api.c                                                |   18 +-
 net/sched/cls_basic.c                                              |   12 +-
 net/sched/cls_bpf.c                                                |  153 +-
 net/sched/cls_cgroup.c                                             |   13 +-
 net/sched/cls_flow.c                                               |   53 +-
 net/sched/cls_flower.c                                             |  232 +-
 net/sched/cls_fw.c                                                 |   28 +-
 net/sched/cls_route.c                                              |   24 +-
 net/sched/cls_rsvp.h                                               |   17 +-
 net/sched/cls_tcindex.c                                            |  102 +-
 net/sched/cls_u32.c                                                |   51 +-
 net/sched/sch_api.c                                                |   84 +-
 net/sched/sch_codel.c                                              |    4 +-
 net/sched/sch_fifo.c                                               |    4 +-
 net/sched/sch_fq.c                                                 |   71 +-
 net/sched/sch_generic.c                                            |   36 +-
 net/sched/sch_hfsc.c                                               |   51 +-
 net/sched/sch_htb.c                                                |   24 +-
 net/sched/sch_mq.c                                                 |    2 +-
 net/sched/sch_mqprio.c                                             |    2 +-
 net/sched/sch_netem.c                                              |   20 +-
 net/sched/sch_pie.c                                                |    4 +-
 net/sctp/associola.c                                               |    2 +-
 net/sctp/auth.c                                                    |    2 +-
 net/sctp/chunk.c                                                   |   26 +-
 net/sctp/input.c                                                   |    8 +-
 net/sctp/inqueue.c                                                 |    2 +-
 net/sctp/output.c                                                  |   62 +-
 net/sctp/outqueue.c                                                |   99 +-
 net/sctp/proc.c                                                    |   10 +-
 net/sctp/sctp_diag.c                                               |   20 +-
 net/sctp/sm_make_chunk.c                                           |   28 +-
 net/sctp/sm_sideeffect.c                                           |   25 +-
 net/sctp/sm_statefuns.c                                            |    6 +-
 net/sctp/socket.c                                                  |    8 +-
 net/sctp/transport.c                                               |    4 +-
 net/sctp/ulpevent.c                                                |    4 +-
 net/sctp/ulpqueue.c                                                |    3 -
 net/strparser/Kconfig                                              |    4 +
 net/strparser/Makefile                                             |    1 +
 net/strparser/strparser.c                                          |  510 ++++
 net/switchdev/switchdev.c                                          |  278 +-
 net/sysctl_net.c                                                   |   29 +-
 net/tipc/bcast.c                                                   |    8 +-
 net/tipc/bcast.h                                                   |    4 +-
 net/tipc/bearer.c                                                  |  130 +-
 net/tipc/bearer.h                                                  |    2 +
 net/tipc/link.c                                                    |  149 +-
 net/tipc/link.h                                                    |    6 +-
 net/tipc/msg.h                                                     |   10 +
 net/tipc/net.h                                                     |    2 +
 net/tipc/netlink.c                                                 |   18 +
 net/tipc/node.c                                                    |   95 +-
 net/tipc/node.h                                                    |   12 +-
 net/tipc/udp_media.c                                               |  522 +++-
 net/tipc/udp_media.h                                               |   46 +
 net/wireless/chan.c                                                |    2 +
 net/wireless/core.c                                                |   43 +-
 net/wireless/core.h                                                |    9 +-
 net/wireless/ibss.c                                                |   14 +-
 net/wireless/mlme.c                                                |    3 +-
 net/wireless/nl80211.c                                             | 1577 +++++++---
 net/wireless/nl80211.h                                             |    3 +
 net/wireless/rdev-ops.h                                            |   58 +
 net/wireless/scan.c                                                |   58 +-
 net/wireless/sme.c                                                 |    9 +-
 net/wireless/sysfs.c                                               |    2 +-
 net/wireless/trace.h                                               |   90 +
 net/wireless/util.c                                                |   43 +-
 net/wireless/wext-compat.c                                         |   21 +-
 net/wireless/wext-sme.c                                            |    5 +-
 net/x25/af_x25.c                                                   |    4 -
 net/xfrm/xfrm_algo.c                                               |    2 +-
 net/xfrm/xfrm_policy.c                                             |  145 +-
 net/xfrm/xfrm_proc.c                                               |   10 +-
 net/xfrm/xfrm_replay.c                                             |    6 +-
 net/xfrm/xfrm_state.c                                              |  125 +-
 net/xfrm/xfrm_sysctl.c                                             |    4 +-
 samples/bpf/Makefile                                               |   14 +
 samples/bpf/bpf_helpers.h                                          |   16 +-
 samples/bpf/bpf_load.c                                             |    7 +-
 samples/bpf/libbpf.h                                               |    8 +
 samples/bpf/sampleip_kern.c                                        |   38 +
 samples/bpf/sampleip_user.c                                        |  196 ++
 samples/bpf/sockex2_kern.c                                         |   10 +-
 samples/bpf/sockex3_kern.c                                         |    8 +-
 samples/bpf/sockex3_user.c                                         |    4 +-
 samples/bpf/tcbpf2_kern.c                                          |  381 +++
 samples/bpf/test_current_task_under_cgroup_kern.c                  |   43 +
 samples/bpf/test_current_task_under_cgroup_user.c                  |  145 +
 samples/bpf/test_ipip.sh                                           |  178 ++
 samples/bpf/test_tunnel_bpf.sh                                     |  167 +
 samples/bpf/test_verifier.c                                        | 1016 ++++++-
 samples/bpf/trace_event_kern.c                                     |   65 +
 samples/bpf/trace_event_user.c                                     |  213 ++
 samples/bpf/tracex5_kern.c                                         |   16 +-
 samples/bpf/tracex5_user.c                                         |    3 +
 1382 files changed, 110945 insertions(+), 32490 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/dsa/qca8k.txt
 create mode 100644 Documentation/devicetree/bindings/net/mscc-phy-vsc8531.txt
 create mode 100644 Documentation/devicetree/bindings/net/qcom-emac.txt
 create mode 100644 Documentation/devicetree/bindings/net/stm32-dwmac.txt
 create mode 100644 Documentation/devicetree/bindings/net/xilinx_gmii2rgmii.txt
 create mode 100644 Documentation/networking/ena.txt
 create mode 100644 Documentation/networking/strparser.txt
 create mode 100644 drivers/bluetooth/btqcomsmd.c
 create mode 100644 drivers/bluetooth/hci_mrvl.c
 create mode 100644 drivers/crypto/chelsio/Kconfig
 create mode 100644 drivers/crypto/chelsio/Makefile
 create mode 100644 drivers/crypto/chelsio/chcr_algo.c
 create mode 100644 drivers/crypto/chelsio/chcr_algo.h
 create mode 100644 drivers/crypto/chelsio/chcr_core.c
 create mode 100644 drivers/crypto/chelsio/chcr_core.h
 create mode 100644 drivers/crypto/chelsio/chcr_crypto.h
 create mode 100644 drivers/net/dsa/mv88e6xxx/global1.c
 create mode 100644 drivers/net/dsa/mv88e6xxx/global1.h
 create mode 100644 drivers/net/dsa/mv88e6xxx/global2.c
 create mode 100644 drivers/net/dsa/mv88e6xxx/global2.h
 create mode 100644 drivers/net/dsa/qca8k.c
 create mode 100644 drivers/net/dsa/qca8k.h
 create mode 100644 drivers/net/ethernet/amazon/Kconfig
 create mode 100644 drivers/net/ethernet/amazon/Makefile
 create mode 100644 drivers/net/ethernet/amazon/ena/Makefile
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_admin_defs.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_com.c
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_com.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_common_defs.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_eth_com.c
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_eth_com.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_eth_io_defs.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_ethtool.c
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_netdev.c
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_netdev.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_pci_id_tbl.h
 create mode 100644 drivers/net/ethernet/amazon/ena/ena_regs_defs.h
 create mode 100644 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.c
 create mode 100644 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_device.h
 create mode 100644 drivers/net/ethernet/cavium/liquidio/cn23xx_pf_regs.h
 create mode 100644 drivers/net/ethernet/cavium/liquidio/lio_core.c
 create mode 100644 drivers/net/ethernet/cavium/thunder/thunder_xcv.c
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.h
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.h
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32_parse.h
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/sched.c
 create mode 100644 drivers/net/ethernet/chelsio/cxgb4/sched.h
 create mode 100644 drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.c
 create mode 100644 drivers/net/ethernet/chelsio/libcxgb/libcxgb_cm.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/dev.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/lag.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_asm.h
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_bpf.h
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_bpf_jit.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_bpf_verifier.c
 create mode 100644 drivers/net/ethernet/netronome/nfp/nfp_net_offload.c
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_debug.c
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_debug.h
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_ll2.c
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_ll2.h
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_roce.c
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_roce.h
 create mode 100644 drivers/net/ethernet/qlogic/qede/qede_roce.c
 create mode 100644 drivers/net/ethernet/qualcomm/emac/Makefile
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac-mac.c
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac-mac.h
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac-phy.c
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac-phy.h
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac-sgmii.c
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac-sgmii.h
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac.c
 create mode 100644 drivers/net/ethernet/qualcomm/emac/emac.h
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-stm32.c
 create mode 100644 drivers/net/phy/mscc.c
 create mode 100644 drivers/net/phy/xilinx_gmii2rgmii.c
 delete mode 100644 drivers/net/wireless/mediatek/mt7601u/util.h
 create mode 100644 include/dt-bindings/net/mscc-phy-vsc8531.h
 create mode 100644 include/linux/bitfield.h
 create mode 100644 include/linux/bpf_verifier.h
 create mode 100644 include/linux/qed/qed_ll2_if.h
 create mode 100644 include/linux/qed/qed_roce_if.h
 create mode 100644 include/linux/qed/qede_roce.h
 create mode 100644 include/linux/win_minmax.h
 delete mode 100644 include/net/netfilter/nf_tables_bridge.h
 create mode 100644 include/net/pptp.h
 create mode 100644 include/net/strparser.h
 create mode 100644 include/net/tc_act/tc_skbmod.h
 create mode 100644 include/net/tc_act/tc_tunnel_key.h
 create mode 100644 include/trace/events/rxrpc.h
 create mode 100644 include/uapi/linux/bpf_perf_event.h
 create mode 100644 include/uapi/linux/netfilter/nf_log.h
 create mode 100644 include/uapi/linux/tc_act/tc_skbmod.h
 create mode 100644 include/uapi/linux/tc_act/tc_tunnel_key.h
 create mode 100644 lib/win_minmax.c
 create mode 100644 net/bridge/br_switchdev.c
 create mode 100644 net/dsa/tag_qca.c
 delete mode 100644 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4_compat.c
 create mode 100644 net/ipv4/tcp_bbr.c
 create mode 100644 net/ipv4/tcp_rate.c
 create mode 100644 net/netfilter/nft_numgen.c
 create mode 100644 net/netfilter/nft_quota.c
 create mode 100644 net/netfilter/nft_range.c
 create mode 100644 net/netfilter/nft_set_hash.c
 rename net/netfilter/{nft_rbtree.c => nft_set_rbtree.c} (97%)
 create mode 100644 net/rxrpc/sendmsg.c
 create mode 100644 net/sched/act_meta_skbtcindex.c
 create mode 100644 net/sched/act_skbmod.c
 create mode 100644 net/sched/act_tunnel_key.c
 create mode 100644 net/strparser/Kconfig
 create mode 100644 net/strparser/Makefile
 create mode 100644 net/strparser/strparser.c
 create mode 100644 net/tipc/udp_media.h
 create mode 100644 samples/bpf/sampleip_kern.c
 create mode 100644 samples/bpf/sampleip_user.c
 create mode 100644 samples/bpf/tcbpf2_kern.c
 create mode 100644 samples/bpf/test_current_task_under_cgroup_kern.c
 create mode 100644 samples/bpf/test_current_task_under_cgroup_user.c
 create mode 100755 samples/bpf/test_ipip.sh
 create mode 100755 samples/bpf/test_tunnel_bpf.sh
 create mode 100644 samples/bpf/trace_event_kern.c
 create mode 100644 samples/bpf/trace_event_user.c

^ permalink raw reply

* Re: pull-request: wireless-drivers-next 2016-09-29
From: David Miller @ 2016-10-05  4:53 UTC (permalink / raw)
  To: kvalo; +Cc: aconole, pablo, linux-wireless, netdev, linux-kernel
In-Reply-To: <87bmyzpffk.fsf@kamboji.qca.qualcomm.com>

From: Kalle Valo <kvalo@codeaurora.org>
Date: Wed, 05 Oct 2016 07:50:39 +0300

> net-next still fails to compile for me. I verified that these two
> patches fix it but I don't see them in net-next yet.

Pablo please get those fixes to me as soon as possible.

^ permalink raw reply

* Re: pull-request: wireless-drivers-next 2016-09-29
From: Kalle Valo @ 2016-10-05  4:50 UTC (permalink / raw)
  To: Aaron Conole
  Cc: David Miller, Pablo Neira Ayuso, linux-wireless, netdev,
	linux-kernel
In-Reply-To: <f7t4m4xtszj.fsf@redhat.com>

Aaron Conole <aconole@redhat.com> writes:

> David Miller <davem@davemloft.net> writes:
>
>> From: Kalle Valo <kvalo@codeaurora.org>
>> Date: Thu, 29 Sep 2016 19:57:28 +0300
>>
> ...
>>> Or actually I had one problem. While doing a test merge I noticed that
>>> net-next fails to compile for me, but I don't think this is anything
>>> wireless related:
>>> 
>>>   CC      net/netfilter/core.o
>>> net/netfilter/core.c: In function 'nf_set_hooks_head':
>>> net/netfilter/core.c:96:149: error: 'struct net_device' has no
>>> member named 'nf_hooks_ingress'
>>
>> Yes, I am aware of this build issue and will tackle it myself if someone
>> doesn't beat me to it.
>
> Sorry, I introduced this.  I posted a series targetted at nf-next to
> solve this, but it could be merged to net-next instead, if that makes
> sense.
>
> The patches are here:
>
> https://patchwork.ozlabs.org/patch/676287/
> https://patchwork.ozlabs.org/patch/676288/

net-next still fails to compile for me. I verified that these two
patches fix it but I don't see them in net-next yet.

-- 
Kalle Valo

^ permalink raw reply

* Re: [PATCH v2 3/4] ARM: dts: dra72-evm-revc: fix correct phy delay and impedance settings
From: Mugunthan V N @ 2016-10-05  3:29 UTC (permalink / raw)
  To: Lokesh Vutla, netdev
  Cc: devicetree, linux-kernel, linux-omap, linux-arm-kernel,
	Rob Herring, Mark Rutland, Tony Lindgren, Russell King,
	Florian Fainelli, David Miller, Sekhar Nori
In-Reply-To: <a4ef7fc1-73f7-7136-0d60-6ce8a8ff33b9@ti.com>

On Tuesday 04 October 2016 06:41 PM, Lokesh Vutla wrote:
> 
> On Tuesday 04 October 2016 06:26 PM, Mugunthan V N wrote:
>> > The default impedance settings of the phy is not the optimal
>> > value, due to this the second ethernet is not working. Fix it
>> > with correct values which makes the second ethernet port to work.
>> > 
>> > Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
>> > ---
>> >  arch/arm/boot/dts/dra72-evm-revc.dts | 2 ++
>> >  1 file changed, 2 insertions(+)
>> > 
>> > diff --git a/arch/arm/boot/dts/dra72-evm-revc.dts b/arch/arm/boot/dts/dra72-evm-revc.dts
>> > index f9cfd3b..d626cd7 100644
>> > --- a/arch/arm/boot/dts/dra72-evm-revc.dts
>> > +++ b/arch/arm/boot/dts/dra72-evm-revc.dts
>> > @@ -62,6 +62,7 @@
>> >  		ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_00_NS>;
>> >  		ti,tx-internal-delay = <DP83867_RGMIIDCTL_1_NS>;
>> >  		ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
>> > +		ti,min-output-imepdance;
> s/imepdance/impedance
> 

Thanks for quick catch. Will fix this in v3.

Regards
Mugunthan V N

^ permalink raw reply

* Re: [PATCH v2 2/4] net: phy: dp83867: add support for MAC impedance configuration
From: Mugunthan V N @ 2016-10-05  3:28 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: netdev, devicetree, linux-kernel, linux-omap, linux-arm-kernel,
	Rob Herring, Mark Rutland, Tony Lindgren, Russell King,
	Florian Fainelli, David Miller, Sekhar Nori
In-Reply-To: <20161004131032.GL11677@lunn.ch>

On Tuesday 04 October 2016 06:40 PM, Andrew Lunn wrote:
>> +	if (of_property_read_bool(of_node, "ti,max-output-imepdance"))
>> +		dp83867->io_impedance = DP83867_IO_MUX_CFG_IO_IMPEDANCE_MAX;
>> +	else if (of_property_read_bool(of_node, "ti,min-output-imepdance"))
> 
> Did you really test this? Or did you make the same typos in your device
> tree file?
> 

I have tested this and attached the log in cover letter. Since there is
a typo error on both dts and driver it worked as expected. Will send a
v3 ASAP.

Regards
Mugunthan V N

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox