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

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

 1) kvaser CAN driver has fixed limits of some of it's table, validate
    that we won't exceed those limits at probe time.  Fix from Olivier
    Sobrie.

 2) Fix rtl8192ce disabling interrupts for too long, from Olivier
    Langlois.

 3) Fix botched shift in ath5k driver, from Dan Carpenter.

 4) Fix corruption of deferred packets in TIPC, from Erik Hugne.

 5) Fix newlink error path in macvlan driver, from Cong Wang.

 6) Fix netpoll deadlock in bonding, from Ding Tianhong.

 7) Handle GSO packets properly in forwarding path when fragmentation is
    necessary on egress, from Florian Westphal.

 8) Fix axienet build errors, from Michal Simek.

 9) Fix refcounting of ubufs on tx in vhost net driver, from Michael S
    Tsirkin.

10) Carrier status isn't set properly in hyperv driver, from Haiyang
    Zhang.

11) Missing pci_disable_device() in tulip_remove_one), from Ingo Molnar.

12) AF_PACKET qdisc bypass mode doesn't adhere to driver provided TX
    queue selection method.  Add a fallback method mechanism to fix this
    bug, from Daniel Borkmann.

13) Fix regression in link local route handling on GRE tunnels, from
    Nicolas Dichtel.

14) Bonding can assign dup aggregator IDs in some sequences of
    configuration, fix by making the allocation counter per-bond instead
    of global.  From Jiri Bohac.

15) sctp_connectx() needs compat translations, from Daniel Borkmann.

16) Fix of_mdio PHY interrupt parsing, from Ben Dooks

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (62 commits)
  MAINTAINERS: add entry for the PHY library
  of_mdio: fix phy interrupt passing
  net: ethernet: update dependency and help text of mvneta
  NET: fec: only enable napi if we are successful
  af_packet: remove a stray tab in packet_set_ring()
  net: sctp: fix sctp_connectx abi for ia32 emulation/compat mode
  ipv4: fix counter in_slow_tot
  irtty-sir.c: Do not set_termios() on irtty_close()
  bonding: 802.3ad: make aggregator_identifier bond-private
  usbnet: remove generic hard_header_len check
  gre: add link local route when local addr is any
  batman-adv: fix potential kernel paging error for unicast transmissions
  batman-adv: avoid double free when orig_node initialization fails
  batman-adv: free skb on TVLV parsing success
  batman-adv: fix TT CRC computation by ensuring byte order
  batman-adv: fix potential orig_node reference leak
  batman-adv: avoid potential race condition when adding a new neighbour
  batman-adv: properly check pskb_may_pull return value
  batman-adv: release vlan object after checking the CRC
  batman-adv: fix TT-TVLV parsing on OGM reception
  ...
parents 91c6c8dc 22f08ad9
Loading
Loading
Loading
Loading
+58 −0
Original line number Diff line number Diff line
STMicroelectronics SoC DWMAC glue layer controller

The device node has following properties.

Required properties:
 - compatible	: Can be "st,stih415-dwmac", "st,stih416-dwmac" or
   "st,stid127-dwmac".
 - reg		: Offset of the glue configuration register map in system
   configuration regmap pointed by st,syscon property and size.

 - reg-names	: Should be "sti-ethconf".

 - st,syscon	: Should be phandle to system configuration node which
   encompases this glue registers.

 - st,tx-retime-src: On STi Parts for Giga bit speeds, 125Mhz clocks can be
   wired up in from different sources. One via TXCLK pin and other via CLK_125
   pin. This wiring is totally board dependent. However the retiming glue
   logic should be configured accordingly. Possible values for this property

	   "txclk" - if 125Mhz clock is wired up via txclk line.
	   "clk_125" - if 125Mhz clock is wired up via clk_125 line.

   This property is only valid for Giga bit setup( GMII, RGMII), and it is
   un-used for non-giga bit (MII and RMII) setups. Also note that internal
   clockgen can not generate stable 125Mhz clock.

 - st,ext-phyclk: This boolean property indicates who is generating the clock
  for tx and rx. This property is only valid for RMII case where the clock can
  be generated from the MAC or PHY.

 - clock-names: should be "sti-ethclk".
 - clocks: Should point to ethernet clockgen which can generate phyclk.


Example:

ethernet0: dwmac@fe810000 {
	device_type 	= "network";
	compatible	= "st,stih416-dwmac", "snps,dwmac", "snps,dwmac-3.710";
	reg 		= <0xfe810000 0x8000>, <0x8bc 0x4>;
	reg-names	= "stmmaceth", "sti-ethconf";
	interrupts	= <0 133 0>, <0 134 0>, <0 135 0>;
	interrupt-names	= "macirq", "eth_wake_irq", "eth_lpi";
	phy-mode	= "mii";

	st,syscon	= <&syscfg_rear>;

	snps,pbl 	= <32>;
	snps,mixed-burst;

	resets		= <&softreset STIH416_ETH0_SOFTRESET>;
	reset-names	= "stmmaceth";
	pinctrl-0	= <&pinctrl_mii0>;
	pinctrl-names 	= "default";
	clocks		= <&CLK_S_GMAC0_PHY>;
	clock-names	= "stmmaceth";
};
+0 −45
Original line number Diff line number Diff line
The 3Com Etherlink Plus (3c505) driver.

This driver now uses DMA.  There is currently no support for PIO operation.
The default DMA channel is 6; this is _not_ autoprobed, so you must
make sure you configure it correctly.  If loading the driver as a
module, you can do this with "modprobe 3c505 dma=n".  If the driver is
linked statically into the kernel, you must either use an "ether="
statement on the command line, or change the definition of ELP_DMA in 3c505.h.

The driver will warn you if it has to fall back on the compiled in
default DMA channel. 

If no base address is given at boot time, the driver will autoprobe
ports 0x300, 0x280 and 0x310 (in that order).  If no IRQ is given, the driver
will try to probe for it.

The driver can be used as a loadable module.

Theoretically, one instance of the driver can now run multiple cards,
in the standard way (when loading a module, say "modprobe 3c505
io=0x300,0x340 irq=10,11 dma=6,7" or whatever).  I have not tested
this, though.

The driver may now support revision 2 hardware; the dependency on
being able to read the host control register has been removed.  This
is also untested, since I don't have a suitable card.

Known problems:
 I still see "DMA upload timed out" messages from time to time.  These
seem to be fairly non-fatal though.
 The card is old and slow.

To do:
 Improve probe/setup code
 Test multicast and promiscuous operation

Authors:
 The driver is mainly written by Craig Southeren, email
 <craigs@ineluki.apana.org.au>.
 Parts of the driver (adapting the driver to 1.1.4+ kernels,
 IRQ/address detection, some changes) and this README by
 Juha Laiho <jlaiho@ichaos.nullnet.fi>.
 DMA mode, more fixes, etc, by Philip Blundell <pjb27@cam.ac.uk>
 Multicard support, Software configurable DMA, etc., by
 Christopher Collins <ccollins@pcug.org.au>
+11 −0
Original line number Diff line number Diff line
@@ -3324,6 +3324,17 @@ S: Maintained
F:	include/linux/netfilter_bridge/
F:	net/bridge/

ETHERNET PHY LIBRARY
M:	Florian Fainelli <f.fainelli@gmail.com>
L:	netdev@vger.kernel.org
S:	Maintained
F:	include/linux/phy.h
F:	include/linux/phy_fixed.h
F:	drivers/net/phy/
F:	Documentation/networking/phy.txt
F:	drivers/of/of_mdio.c
F:	drivers/of/of_net.c

EXT2 FILE SYSTEM
M:	Jan Kara <jack@suse.cz>
L:	linux-ext4@vger.kernel.org
+1 −1
Original line number Diff line number Diff line
@@ -139,7 +139,7 @@ config MACVTAP
	  This adds a specialized tap character device driver that is based
	  on the MAC-VLAN network interface, called macvtap. A macvtap device
	  can be added in the same way as a macvlan device, using 'type
	  macvlan', and then be accessed through the tap user space interface.
	  macvtap', and then be accessed through the tap user space interface.

	  To compile this driver as a module, choose M here: the module
	  will be called macvtap.
+2 −4
Original line number Diff line number Diff line
@@ -1796,8 +1796,6 @@ void bond_3ad_initiate_agg_selection(struct bonding *bond, int timeout)
	BOND_AD_INFO(bond).agg_select_timer = timeout;
}

static u16 aggregator_identifier;

/**
 * bond_3ad_initialize - initialize a bond's 802.3ad parameters and structures
 * @bond: bonding struct to work on
@@ -1811,7 +1809,7 @@ void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution)
	if (!MAC_ADDRESS_EQUAL(&(BOND_AD_INFO(bond).system.sys_mac_addr),
				bond->dev->dev_addr)) {

		aggregator_identifier = 0;
		BOND_AD_INFO(bond).aggregator_identifier = 0;

		BOND_AD_INFO(bond).system.sys_priority = 0xFFFF;
		BOND_AD_INFO(bond).system.sys_mac_addr = *((struct mac_addr *)bond->dev->dev_addr);
@@ -1880,7 +1878,7 @@ void bond_3ad_bind_slave(struct slave *slave)
		ad_initialize_agg(aggregator);

		aggregator->aggregator_mac_address = *((struct mac_addr *)bond->dev->dev_addr);
		aggregator->aggregator_identifier = (++aggregator_identifier);
		aggregator->aggregator_identifier = ++BOND_AD_INFO(bond).aggregator_identifier;
		aggregator->slave = slave;
		aggregator->is_active = 0;
		aggregator->num_of_ports = 0;
Loading