From: David S. Miller Date: Sun, 30 Oct 2016 16:42:58 +0000 (-0400) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=27058af401e49d88a905df000dd26f443fcfa8ce;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git Merge git://git./linux/kernel/git/davem/net Mostly simple overlapping changes. For example, David Ahern's adjacency list revamp in 'net-next' conflicted with an adjacency list traversal bug fix in 'net'. Signed-off-by: David S. Miller --- 27058af401e49d88a905df000dd26f443fcfa8ce diff --cc drivers/net/ethernet/ibm/ibmvnic.c index 657206be7ba9,5f44c5520fbc..d54405b46109 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@@ -3644,8 -3668,7 +3658,9 @@@ static void handle_crq_init_rsp(struct goto task_failed; netdev->real_num_tx_queues = adapter->req_tx_queues; + netdev->mtu = adapter->req_mtu; + netdev->min_mtu = adapter->min_mtu; + netdev->max_mtu = adapter->max_mtu; if (adapter->failover) { adapter->failover = false; diff --cc drivers/net/ethernet/marvell/mv643xx_eth.c index 68675d83bdc5,bf5cc55ba24c..8302c7e660ce --- a/drivers/net/ethernet/marvell/mv643xx_eth.c +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c @@@ -3143,18 -3144,18 +3160,18 @@@ static int mv643xx_eth_probe(struct pla err = 0; if (pd->phy_node) { - mp->phy = of_phy_connect(mp->dev, pd->phy_node, - mv643xx_eth_adjust_link, 0, - get_phy_mode(mp)); - if (!mp->phy) + phydev = of_phy_connect(mp->dev, pd->phy_node, + mv643xx_eth_adjust_link, 0, - PHY_INTERFACE_MODE_GMII); ++ get_phy_mode(mp)); + if (!phydev) err = -ENODEV; else - phy_addr_set(mp, mp->phy->mdio.addr); + phy_addr_set(mp, phydev->mdio.addr); } else if (pd->phy_addr != MV643XX_ETH_PHY_NONE) { - mp->phy = phy_scan(mp, pd->phy_addr); + phydev = phy_scan(mp, pd->phy_addr); - if (IS_ERR(mp->phy)) - err = PTR_ERR(mp->phy); + if (IS_ERR(phydev)) + err = PTR_ERR(phydev); else phy_init(mp, pd->speed, pd->duplex); } @@@ -3203,12 -3204,6 +3220,15 @@@ dev->priv_flags |= IFF_UNICAST_FLT; dev->gso_max_segs = MV643XX_MAX_TSO_SEGS; ++<<<<<<< HEAD + /* MTU range: 64 - 9500 */ + dev->min_mtu = 64; + dev->max_mtu = 9500; + + SET_NETDEV_DEV(dev, &pdev->dev); + ++======= ++>>>>>>> 2a26d99b251b8625d27aed14e97fc10707a3a81f if (mp->shared->win_protect) wrl(mp, WINDOW_PROTECT(mp->port_num), mp->shared->win_protect); diff --cc include/net/mac80211.h index b9b24abd9103,e2dba93e374f..5345d358a510 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@@ -1743,10 -1747,9 +1747,10 @@@ struct ieee80211_sta_rates * @wme: indicates whether the STA supports QoS/WME (if local devices does, * otherwise always false) * @drv_priv: data area for driver use, will always be aligned to - * sizeof(void *), size is determined in hw information. + * sizeof(void \*), size is determined in hw information. * @uapsd_queues: bitmap of queues configured for uapsd. Only valid - * if wme is supported. + * if wme is supported. The bits order is like in + * IEEE80211_WMM_IE_STA_QOSINFO_AC_*. * @max_sp: max Service Period. Only valid if wme is supported. * @bandwidth: current bandwidth the station can receive with * @rx_nss: in HT/VHT, the maximum number of spatial streams the diff --cc include/net/udp.h index 18f1e6b91927,4948790d393d..6134f37ba3ab --- a/include/net/udp.h +++ b/include/net/udp.h @@@ -261,7 -258,7 +261,8 @@@ void udp_flush_pending_frames(struct so void udp4_hwcsum(struct sk_buff *skb, __be32 src, __be32 dst); int udp_rcv(struct sk_buff *skb); int udp_ioctl(struct sock *sk, int cmd, unsigned long arg); +int udp_init_sock(struct sock *sk); + int __udp_disconnect(struct sock *sk, int flags); int udp_disconnect(struct sock *sk, int flags); unsigned int udp_poll(struct file *file, struct socket *sock, poll_table *wait); struct sk_buff *skb_udp_tunnel_segment(struct sk_buff *skb, diff --cc net/ipv4/tcp_ipv4.c index 83b3d0b8c481,61b7be303eec..b9b8282633d4 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c @@@ -1909,9 -1907,8 +1907,8 @@@ get_sk continue; if (sk->sk_family == st->family) return sk; - icsk = inet_csk(sk); } - spin_unlock_bh(&ilb->lock); + spin_unlock(&ilb->lock); st->offset = 0; if (++st->bucket < INET_LHTABLE_SIZE) goto get_head;