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

Commit f5af19d1 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking updates from David Miller:

 1) Missing netlink attribute validation in nft_lookup, from Patrick
    McHardy.

 2) Restrict ipv6 partial checksum handling to UDP, since that's the
    only case it works for.  From Vlad Yasevich.

 3) Clear out silly device table sentinal macros used by SSB and BCMA
    drivers.  From Joe Perches.

 4) Make sure the remote checksum code never creates a situation where
    the remote checksum is applied yet the tunneling metadata describing
    the remote checksum transformation is still present.  Otherwise an
    external entity might see this and apply the checksum again.  From
    Tom Herbert.

 5) Use msecs_to_jiffies() where applicable, from Nicholas Mc Guire.

 6) Don't explicitly initialize timer struct fields, use setup_timer()
    and mod_timer() instead.  From Vaishali Thakkar.

 7) Don't invoke tg3_halt() without the tp->lock held, from Jun'ichi
    Nomura.

 8) Missing __percpu annotation in ipvlan driver, from Eric Dumazet.

 9) Don't potentially perform skb_get() on shared skbs, also from Eric
    Dumazet.

10) Fix COW'ing of metrics for non-DST_HOST routes in ipv6, from Martin
    KaFai Lau.

11) Fix merge resolution error between the iov_iter changes in vhost and
    some bug fixes that occurred at the same time.  From Jason Wang.

12) If rtnl_configure_link() fails we have to perform a call to
    ->dellink() before unregistering the device.  From WANG Cong.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (39 commits)
  net: dsa: Set valid phy interface type
  rtnetlink: call ->dellink on failure when ->newlink exists
  com20020-pci: add support for eae single card
  vhost_net: fix wrong iter offset when setting number of buffers
  net: spelling fixes
  net/core: Fix warning while make xmldocs caused by dev.c
  net: phy: micrel: disable NAND-tree for KSZ8021, KSZ8031, KSZ8051, KSZ8081
  ipv6: fix ipv6_cow_metrics for non DST_HOST case
  openvswitch: Fix key serialization.
  r8152: restore hw settings
  hso: fix rx parsing logic when skb allocation fails
  tcp: make sure skb is not shared before using skb_get()
  bridge: netfilter: Move sysctl-specific error code inside #ifdef
  ipv6: fix possible deadlock in ip6_fl_purge / ip6_fl_gc
  ipvlan: add a missing __percpu pcpu_stats
  tg3: Hold tp->lock before calling tg3_halt() from tg3_init_one()
  bgmac: fix device initialization on Northstar SoCs (condition typo)
  qlcnic: Delete existing multicast MAC list before adding new
  net/mlx5_core: Fix configuration of log_uar_page_sz
  sunvnet: don't change gso data on clones
  ...
parents 0d695d6d 19334920
Loading
Loading
Loading
Loading
+18 −3
Original line number Original line Diff line number Diff line
@@ -214,8 +214,17 @@ static struct com20020_pci_card_info card_info_sohard = {
	.flags = ARC_CAN_10MBIT,
	.flags = ARC_CAN_10MBIT,
};
};


static struct com20020_pci_card_info card_info_eae = {
static struct com20020_pci_card_info card_info_eae_arc1 = {
	.name = "EAE PLX-PCI",
	.name = "EAE PLX-PCI ARC1",
	.devcount = 1,
	.chan_map_tbl = {
		{ 2, 0x00, 0x08 },
	},
	.flags = ARC_CAN_10MBIT,
};

static struct com20020_pci_card_info card_info_eae_ma1 = {
	.name = "EAE PLX-PCI MA1",
	.devcount = 2,
	.devcount = 2,
	.chan_map_tbl = {
	.chan_map_tbl = {
		{ 2, 0x00, 0x08 },
		{ 2, 0x00, 0x08 },
@@ -357,11 +366,17 @@ static const struct pci_device_id com20020pci_id_table[] = {
		0, 0,
		0, 0,
		(kernel_ulong_t)&card_info_sohard
		(kernel_ulong_t)&card_info_sohard
	},
	},
	{
		0x10B5, 0x9050,
		0x10B5, 0x3263,
		0, 0,
		(kernel_ulong_t)&card_info_eae_arc1
	},
	{
	{
		0x10B5, 0x9050,
		0x10B5, 0x9050,
		0x10B5, 0x3292,
		0x10B5, 0x3292,
		0, 0,
		0, 0,
		(kernel_ulong_t)&card_info_eae
		(kernel_ulong_t)&card_info_eae_ma1
	},
	},
	{
	{
		0x14BA, 0x6000,
		0x14BA, 0x6000,
+2 −5
Original line number Original line Diff line number Diff line
@@ -518,11 +518,8 @@ static int el3_open(struct net_device *dev)
	netif_start_queue(dev);
	netif_start_queue(dev);


	tc589_reset(dev);
	tc589_reset(dev);
	init_timer(&lp->media);
	setup_timer(&lp->media, media_check, (unsigned long)dev);
	lp->media.function = media_check;
	mod_timer(&lp->media, jiffies + HZ);
	lp->media.data = (unsigned long) dev;
	lp->media.expires = jiffies + HZ;
	add_timer(&lp->media);


	dev_dbg(&link->dev, "%s: opened, status %4.4x.\n",
	dev_dbg(&link->dev, "%s: opened, status %4.4x.\n",
	  dev->name, inw(dev->base_addr + EL3_STATUS));
	  dev->name, inw(dev->base_addr + EL3_STATUS));
+4 −2
Original line number Original line Diff line number Diff line
@@ -3127,7 +3127,8 @@ static void et131x_error_timer_handler(unsigned long data)
	}
	}


	/* This is a periodic timer, so reschedule */
	/* This is a periodic timer, so reschedule */
	mod_timer(&adapter->error_timer, jiffies + TX_ERROR_PERIOD * HZ / 1000);
	mod_timer(&adapter->error_timer, jiffies +
		  msecs_to_jiffies(TX_ERROR_PERIOD));
}
}


static void et131x_adapter_memory_free(struct et131x_adapter *adapter)
static void et131x_adapter_memory_free(struct et131x_adapter *adapter)
@@ -3647,7 +3648,8 @@ static int et131x_open(struct net_device *netdev)


	/* Start the timer to track NIC errors */
	/* Start the timer to track NIC errors */
	init_timer(&adapter->error_timer);
	init_timer(&adapter->error_timer);
	adapter->error_timer.expires = jiffies + TX_ERROR_PERIOD * HZ / 1000;
	adapter->error_timer.expires = jiffies +
		msecs_to_jiffies(TX_ERROR_PERIOD);
	adapter->error_timer.function = et131x_error_timer_handler;
	adapter->error_timer.function = et131x_error_timer_handler;
	adapter->error_timer.data = (unsigned long)adapter;
	adapter->error_timer.data = (unsigned long)adapter;
	add_timer(&adapter->error_timer);
	add_timer(&adapter->error_timer);
+2 −0
Original line number Original line Diff line number Diff line
@@ -1030,12 +1030,14 @@ static const struct acpi_device_id xgene_enet_acpi_match[] = {
MODULE_DEVICE_TABLE(acpi, xgene_enet_acpi_match);
MODULE_DEVICE_TABLE(acpi, xgene_enet_acpi_match);
#endif
#endif


#ifdef CONFIG_OF
static struct of_device_id xgene_enet_of_match[] = {
static struct of_device_id xgene_enet_of_match[] = {
	{.compatible = "apm,xgene-enet",},
	{.compatible = "apm,xgene-enet",},
	{},
	{},
};
};


MODULE_DEVICE_TABLE(of, xgene_enet_of_match);
MODULE_DEVICE_TABLE(of, xgene_enet_of_match);
#endif


static struct platform_driver xgene_enet_driver = {
static struct platform_driver xgene_enet_driver = {
	.driver = {
	.driver = {
+1 −1
Original line number Original line Diff line number Diff line
@@ -121,7 +121,7 @@ static struct pci_driver b44_pci_driver = {


static const struct ssb_device_id b44_ssb_tbl[] = {
static const struct ssb_device_id b44_ssb_tbl[] = {
	SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_ETHERNET, SSB_ANY_REV),
	SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_ETHERNET, SSB_ANY_REV),
	SSB_DEVTABLE_END
	{},
};
};
MODULE_DEVICE_TABLE(ssb, b44_ssb_tbl);
MODULE_DEVICE_TABLE(ssb, b44_ssb_tbl);


Loading