From: David S. Miller Date: Sat, 22 Apr 2017 03:23:53 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net X-Git-Tag: v4.12-rc1~129^2~126 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=fb796707d7a6c9b24fdf80b9b4f24fa5ffcf0ec5;p=linux.git Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Both conflict were simple overlapping changes. In the kaweth case, Eric Dumazet's skb_cow() bug fix overlapped the conversion of the driver in net-next to use in-netdev stats. Signed-off-by: David S. Miller --- fb796707d7a6c9b24fdf80b9b4f24fa5ffcf0ec5 diff --cc drivers/net/usb/kaweth.c index 3d8ea18df696,2a2c3edb6bad..37fb621fde86 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c @@@ -801,18 -803,12 +801,12 @@@ static netdev_tx_t kaweth_start_xmit(st } /* We now decide whether we can put our special header into the sk_buff */ - if (skb_cloned(skb) || skb_headroom(skb) < 2) { - /* no such luck - we make our own */ - struct sk_buff *copied_skb; - copied_skb = skb_copy_expand(skb, 2, 0, GFP_ATOMIC); - dev_kfree_skb_irq(skb); - skb = copied_skb; - if (!copied_skb) { - net->stats.tx_errors++; - netif_start_queue(net); - spin_unlock_irq(&kaweth->device_lock); - return NETDEV_TX_OK; - } + if (skb_cow_head(skb, 2)) { - kaweth->stats.tx_errors++; ++ net->stats.tx_errors++; + netif_start_queue(net); + spin_unlock_irq(&kaweth->device_lock); + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; } private_header = (__le16 *)__skb_push(skb, 2); diff --cc net/mac80211/rx.c index 638dc63a51bf,4d7543d1a62c..2142074d9fb0 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@@ -546,11 -594,11 +590,13 @@@ ieee80211_rx_monitor(struct ieee80211_l return NULL; } - return remove_monitor_info(local, origskb, rtap_vendor_space); + remove_monitor_info(origskb, present_fcs_len, + rtap_vendor_space); + return origskb; } + ieee80211_handle_mu_mimo_mon(monitor_sdata, origskb, rtap_vendor_space); + /* room for the radiotap header based on driver features */ rt_hdrlen = ieee80211_rx_radiotap_hdrlen(local, status, origskb); needed_headroom = rt_hdrlen - rtap_vendor_space;