Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c33d9b2 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:

 1) New sysctl ndisc_notify needs some documentation, from Hanns
    Frederic Sowa.

 2) Netfilter REJECT target doesn't set transport header of SKB
    correctly, from Mukund Jampala.

 3) Forcedeth driver needs to check for DMA mapping failures, from Larry
    Finger.

 4) brcmsmac driver can't use usleep_range while holding locks, use
    udelay instead.  From Niels Ole Salscheider.

 5) Fix unregister of netlink bridge multicast database handlers, from
    Vlad Yasevich and Rami Rosen.

 6) Fix checksum calculations in netfilter's ipv6 network prefix
    translation module.

 7) Fix high order page allocation failures in netfilter xt_recent, from
    Eric Dumazet.

 8) mac802154 needs to use netif_rx_ni() instead of netif_rx() because
    mac802154_process_data() can execute in process rather than
    interrupt context.  From Alexander Aring.

 9) Fix splice handling of MSG_SENDPAGE_NOTLAST, otherwise we elide one
    tcp_push() too many.  From Eric Dumazet and Willy Tarreau.

10) Fix skb->truesize tracking in XEN netfront driver, from Ian
    Campbell.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
  xen/netfront: improve truesize tracking
  ipv4: fix NULL checking in devinet_ioctl()
  tcp: fix MSG_SENDPAGE_NOTLAST logic
  net/ipv4/ipconfig: really display the BOOTP/DHCP server's address.
  ip-sysctl: fix spelling errors
  mac802154: fix NOHZ local_softirq_pending 08 warning
  ipv6: document ndisc_notify in networking/ip-sysctl.txt
  ath9k: Fix Kconfig for ATH9K_HTC
  netfilter: xt_recent: avoid high order page allocations
  netfilter: fix missing dependencies for the NOTRACK target
  netfilter: ip6t_NPT: fix IPv6 NTP checksum calculation
  bridge: add empty br_mdb_init() and br_mdb_uninit() definitions.
  vxlan: allow live mac address change
  bridge: Correctly unregister MDB rtnetlink handlers
  brcmfmac: fix parsing rsn ie for ap mode.
  brcmsmac: add copyright information for Canonical
  rtlwifi: rtl8723ae: Fix warning for unchecked pci_map_single() call
  rtlwifi: rtl8192se: Fix warning for unchecked pci_map_single() call
  rtlwifi: rtl8192de: Fix warning for unchecked pci_map_single() call
  rtlwifi: rtl8192ce: Fix warning for unchecked pci_map_single() call
  ...
parents 2a893f91 d9a58a78
Loading
Loading
Loading
Loading
+11 −5
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ neigh/default/unres_qlen_bytes - INTEGER
	The maximum number of bytes which may be used by packets
	queued for each	unresolved address by other network layers.
	(added in linux 3.3)
	Seting negative value is meaningless and will retrun error.
	Setting negative value is meaningless and will return error.
	Default: 65536 Bytes(64KB)

neigh/default/unres_qlen - INTEGER
@@ -215,7 +215,7 @@ tcp_ecn - INTEGER
	Possible values are:
		0 Disable ECN.  Neither initiate nor accept ECN.
		1 Always request ECN on outgoing connection attempts.
		2 Enable ECN when requested by incomming connections
		2 Enable ECN when requested by incoming connections
		  but do not request ECN on outgoing connections.
	Default: 2

@@ -503,7 +503,7 @@ tcp_fastopen - INTEGER
tcp_syn_retries - INTEGER
	Number of times initial SYNs for an active TCP connection attempt
	will be retransmitted. Should not be higher than 255. Default value
	is 6, which corresponds to 63seconds till the last restransmission
	is 6, which corresponds to 63seconds till the last retransmission
	with the current initial RTO of 1second. With this the final timeout
	for an active TCP connection attempt will happen after 127seconds.

@@ -1331,6 +1331,12 @@ force_tllao - BOOLEAN
	race condition where the sender deletes the cached link-layer address
	prior to receiving a response to a previous solicitation."

ndisc_notify - BOOLEAN
	Define mode for notification of address and device changes.
	0 - (default): do nothing
	1 - Generate unsolicited neighbour advertisements when device is brought
	    up or hardware address changes.

icmp/*:
ratelimit - INTEGER
	Limit the maximal rates for sending ICMPv6 packets.
@@ -1530,7 +1536,7 @@ cookie_hmac_alg - STRING
	* sha1
	* none
	Ability to assign md5 or sha1 as the selected alg is predicated on the
	configuarion of those algorithms at build time (CONFIG_CRYPTO_MD5 and
	configuration of those algorithms at build time (CONFIG_CRYPTO_MD5 and
	CONFIG_CRYPTO_SHA1).

	Default: Dependent on configuration.  MD5 if available, else SHA1 if
@@ -1548,7 +1554,7 @@ rcvbuf_policy - INTEGER
	blocking.

	1: rcvbuf space is per association
	0: recbuf space is per socket
	0: rcvbuf space is per socket

	Default: 0

+1 −2
Original line number Diff line number Diff line
@@ -67,8 +67,7 @@ config BCMA_DRIVER_GMAC_CMN

config BCMA_DRIVER_GPIO
	bool "BCMA GPIO driver"
	depends on BCMA
	select GPIOLIB
	depends on BCMA && GPIOLIB
	help
	  Driver to provide access to the GPIO pins of the bcma bus.

+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ static struct bcma_sflash_tbl_e bcma_sflash_st_tbl[] = {
	{ "M25P40", 0x12, 0x10000, 8, },

	{ "M25P16", 0x14, 0x10000, 32, },
	{ "M25P32", 0x14, 0x10000, 64, },
	{ "M25P32", 0x15, 0x10000, 64, },
	{ "M25P64", 0x16, 0x10000, 128, },
	{ "M25FL128", 0x17, 0x10000, 256, },
	{ 0 },
+35 −0
Original line number Diff line number Diff line
@@ -1821,6 +1821,11 @@ static int nv_alloc_rx(struct net_device *dev)
							     skb->data,
							     skb_tailroom(skb),
							     PCI_DMA_FROMDEVICE);
			if (pci_dma_mapping_error(np->pci_dev,
						  np->put_rx_ctx->dma)) {
				kfree_skb(skb);
				goto packet_dropped;
			}
			np->put_rx_ctx->dma_len = skb_tailroom(skb);
			np->put_rx.orig->buf = cpu_to_le32(np->put_rx_ctx->dma);
			wmb();
@@ -1830,6 +1835,7 @@ static int nv_alloc_rx(struct net_device *dev)
			if (unlikely(np->put_rx_ctx++ == np->last_rx_ctx))
				np->put_rx_ctx = np->first_rx_ctx;
		} else {
packet_dropped:
			u64_stats_update_begin(&np->swstats_rx_syncp);
			np->stat_rx_dropped++;
			u64_stats_update_end(&np->swstats_rx_syncp);
@@ -1856,6 +1862,11 @@ static int nv_alloc_rx_optimized(struct net_device *dev)
							     skb->data,
							     skb_tailroom(skb),
							     PCI_DMA_FROMDEVICE);
			if (pci_dma_mapping_error(np->pci_dev,
						  np->put_rx_ctx->dma)) {
				kfree_skb(skb);
				goto packet_dropped;
			}
			np->put_rx_ctx->dma_len = skb_tailroom(skb);
			np->put_rx.ex->bufhigh = cpu_to_le32(dma_high(np->put_rx_ctx->dma));
			np->put_rx.ex->buflow = cpu_to_le32(dma_low(np->put_rx_ctx->dma));
@@ -1866,6 +1877,7 @@ static int nv_alloc_rx_optimized(struct net_device *dev)
			if (unlikely(np->put_rx_ctx++ == np->last_rx_ctx))
				np->put_rx_ctx = np->first_rx_ctx;
		} else {
packet_dropped:
			u64_stats_update_begin(&np->swstats_rx_syncp);
			np->stat_rx_dropped++;
			u64_stats_update_end(&np->swstats_rx_syncp);
@@ -2217,6 +2229,15 @@ static netdev_tx_t nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
		bcnt = (size > NV_TX2_TSO_MAX_SIZE) ? NV_TX2_TSO_MAX_SIZE : size;
		np->put_tx_ctx->dma = pci_map_single(np->pci_dev, skb->data + offset, bcnt,
						PCI_DMA_TODEVICE);
		if (pci_dma_mapping_error(np->pci_dev,
					  np->put_tx_ctx->dma)) {
			/* on DMA mapping error - drop the packet */
			kfree_skb(skb);
			u64_stats_update_begin(&np->swstats_tx_syncp);
			np->stat_tx_dropped++;
			u64_stats_update_end(&np->swstats_tx_syncp);
			return NETDEV_TX_OK;
		}
		np->put_tx_ctx->dma_len = bcnt;
		np->put_tx_ctx->dma_single = 1;
		put_tx->buf = cpu_to_le32(np->put_tx_ctx->dma);
@@ -2337,6 +2358,15 @@ static netdev_tx_t nv_start_xmit_optimized(struct sk_buff *skb,
		bcnt = (size > NV_TX2_TSO_MAX_SIZE) ? NV_TX2_TSO_MAX_SIZE : size;
		np->put_tx_ctx->dma = pci_map_single(np->pci_dev, skb->data + offset, bcnt,
						PCI_DMA_TODEVICE);
		if (pci_dma_mapping_error(np->pci_dev,
					  np->put_tx_ctx->dma)) {
			/* on DMA mapping error - drop the packet */
			kfree_skb(skb);
			u64_stats_update_begin(&np->swstats_tx_syncp);
			np->stat_tx_dropped++;
			u64_stats_update_end(&np->swstats_tx_syncp);
			return NETDEV_TX_OK;
		}
		np->put_tx_ctx->dma_len = bcnt;
		np->put_tx_ctx->dma_single = 1;
		put_tx->bufhigh = cpu_to_le32(dma_high(np->put_tx_ctx->dma));
@@ -5003,6 +5033,11 @@ static int nv_loopback_test(struct net_device *dev)
	test_dma_addr = pci_map_single(np->pci_dev, tx_skb->data,
				       skb_tailroom(tx_skb),
				       PCI_DMA_FROMDEVICE);
	if (pci_dma_mapping_error(np->pci_dev,
				  test_dma_addr)) {
		dev_kfree_skb_any(tx_skb);
		goto out;
	}
	pkt_data = skb_put(tx_skb, pkt_len);
	for (i = 0; i < pkt_len; i++)
		pkt_data[i] = (u8)(i & 0xff);
+1 −0
Original line number Diff line number Diff line
@@ -458,6 +458,7 @@ static const struct usb_device_id products[] = {
	{QMI_FIXED_INTF(0x1199, 0x68a2, 8)},	/* Sierra Wireless MC7710 in QMI mode */
	{QMI_FIXED_INTF(0x1199, 0x68a2, 19)},	/* Sierra Wireless MC7710 in QMI mode */
	{QMI_FIXED_INTF(0x1199, 0x901c, 8)},    /* Sierra Wireless EM7700 */
	{QMI_FIXED_INTF(0x1bbb, 0x011e, 4)},	/* Telekom Speedstick LTE II (Alcatel One Touch L100V LTE) */

	/* 4. Gobi 1000 devices */
	{QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},	/* Acer Gobi Modem Device */
Loading