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

Commit b251f0f3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:
 "Bug fixes galore, mostly in drivers as is often the case:

  1) USB gadget and cdc_eem drivers need adjustments to their frame size
     lengths in order to handle VLANs correctly.  From Ian Coolidge.

  2) TIPC and several network drivers erroneously call tasklet_disable
     before tasklet_kill, fix from Xiaotian Feng.

  3) r8169 driver needs to apply the WOL suspend quirk to more chipsets,
     fix from Cyril Brulebois.

  4) Fix multicast filters on RTL_GIGA_MAC_VER_35 r8169 chips, from
     Nathan Walp.

  5) FDB netlink dumps should use RTM_NEWNEIGH as the message type, not
     zero.  From John Fastabend.

  6) Fix smsc95xx tx checksum offload on big-endian, from Steve
     Glendinning.

  7) __inet_diag_dump() needs to repsect and report the error value
     returned from inet_diag_lock_handler() rather than ignore it.
     Otherwise if an inet diag handler is not available for a particular
     protocol, we essentially report success instead of giving an error
     indication.  Fix from Cyrill Gorcunov.

  8) When the QFQ packet scheduler sees TSO/GSO packets it does not
     handle things properly, and in fact ends up corrupting it's
     datastructures as well as mis-schedule packets.  Fix from Paolo
     Valente.

  9) Fix oopser in skb_loop_sk(), from Eric Leblond.

  10) CXGB4 passes partially uninitialized datastructures in to FW
      commands, fix from Vipul Pandya.

  11) When we send unsolicited ipv6 neighbour advertisements, we should
      send them to the link-local allnodes multicast address, as per
      RFC4861.  Fix from Hannes Frederic Sowa.

  12) There is some kind of bug in the usbnet's kevent deferral
      mechanism, but more immediately when it triggers an uncontrolled
      stream of kernel messages spam the log.  Rate limit the error log
      message triggered when this problem occurs, as sending thousands
      of error messages into the kernel log doesn't help matters at all,
      and in fact makes further diagnosis more difficult.

      From Steve Glendinning.

  13) Fix gianfar restore from hibernation, from Wang Dongsheng.

  14) The netlink message attribute sizes are wrong in the ipv6 GRE
      driver, it was using the size of ipv4 addresses instead of ipv6
      ones :-) Fix from Nicolas Dichtel."

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  gre6: fix rtnl dump messages
  gianfar: ethernet vanishes after restoring from hibernation
  usbnet: ratelimit kevent may have been dropped warnings
  ipv6: send unsolicited neighbour advertisements to all-nodes
  net: usb: cdc_eem: Fix rx skb allocation for 802.1Q VLANs
  usb: gadget: g_ether: fix frame size check for 802.1Q
  cxgb4: Fix initialization of SGE_CONTROL register
  isdn: Make CONFIG_ISDN depend on CONFIG_NETDEVICES
  cxgb4: Initialize data structures before using.
  af-packet: fix oops when socket is not present
  pkt_sched: enable QFQ to support TSO/GSO
  net: inet_diag -- Return error code if protocol handler is missed
  net: bnx2x: Fix typo in bnx2x driver
  smsc95xx: fix tx checksum offload for big endian
  rtnetlink: Use nlmsg type RTM_NEWNEIGH from dflt fdb dump
  ptp: update adjfreq callback description
  r8169: allow multicast packets on sub-8168f chipset.
  r8169: Fix WoL on RTL8168d/8111d.
  drivers/net: use tasklet_kill in device remove/close process
  tipc: do not use tasklet_disable before tasklet_kill
parents 2b1768f3 a3754133
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -4,7 +4,7 @@


menuconfig ISDN
menuconfig ISDN
	bool "ISDN support"
	bool "ISDN support"
	depends on NET
	depends on NET && NETDEVICES
	depends on !S390 && !UML
	depends on !S390 && !UML
	---help---
	---help---
	  ISDN ("Integrated Services Digital Network", called RNIS in France)
	  ISDN ("Integrated Services Digital Network", called RNIS in France)
+1 −1
Original line number Original line Diff line number Diff line
@@ -6,7 +6,7 @@ if ISDN_I4L


config ISDN_PPP
config ISDN_PPP
	bool "Support synchronous PPP"
	bool "Support synchronous PPP"
	depends on INET && NETDEVICES
	depends on INET
	select SLHC
	select SLHC
	help
	help
	  Over digital connections such as ISDN, there is no need to
	  Over digital connections such as ISDN, there is no need to
+0 −4
Original line number Original line Diff line number Diff line
@@ -1312,7 +1312,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
			} else
			} else
				return -EINVAL;
				return -EINVAL;
			break;
			break;
#ifdef CONFIG_NETDEVICES
		case IIOCNETGPN:
		case IIOCNETGPN:
			/* Get peer phone number of a connected
			/* Get peer phone number of a connected
			 * isdn network interface */
			 * isdn network interface */
@@ -1322,7 +1321,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
				return isdn_net_getpeer(&phone, argp);
				return isdn_net_getpeer(&phone, argp);
			} else
			} else
				return -EINVAL;
				return -EINVAL;
#endif
		default:
		default:
			return -EINVAL;
			return -EINVAL;
		}
		}
@@ -1352,7 +1350,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
		case IIOCNETLCR:
		case IIOCNETLCR:
			printk(KERN_INFO "INFO: ISDN_ABC_LCR_SUPPORT not enabled\n");
			printk(KERN_INFO "INFO: ISDN_ABC_LCR_SUPPORT not enabled\n");
			return -ENODEV;
			return -ENODEV;
#ifdef CONFIG_NETDEVICES
		case IIOCNETAIF:
		case IIOCNETAIF:
			/* Add a network-interface */
			/* Add a network-interface */
			if (arg) {
			if (arg) {
@@ -1491,7 +1488,6 @@ isdn_ioctl(struct file *file, uint cmd, ulong arg)
				return -EFAULT;
				return -EFAULT;
			return isdn_net_force_hangup(name);
			return isdn_net_force_hangup(name);
			break;
			break;
#endif                          /* CONFIG_NETDEVICES */
		case IIOCSETVER:
		case IIOCSETVER:
			dev->net_verbose = arg;
			dev->net_verbose = arg;
			printk(KERN_INFO "isdn: Verbose-Level is %d\n", dev->net_verbose);
			printk(KERN_INFO "isdn: Verbose-Level is %d\n", dev->net_verbose);
+1 −1
Original line number Original line Diff line number Diff line
@@ -1702,7 +1702,7 @@ static int bnx2x_set_eee(struct net_device *dev, struct ethtool_eee *edata)
				      SHMEM_EEE_ADV_STATUS_SHIFT);
				      SHMEM_EEE_ADV_STATUS_SHIFT);
	if ((advertised != (eee_cfg & SHMEM_EEE_ADV_STATUS_MASK))) {
	if ((advertised != (eee_cfg & SHMEM_EEE_ADV_STATUS_MASK))) {
		DP(BNX2X_MSG_ETHTOOL,
		DP(BNX2X_MSG_ETHTOOL,
		   "Direct manipulation of EEE advertisment is not supported\n");
		   "Direct manipulation of EEE advertisement is not supported\n");
		return -EINVAL;
		return -EINVAL;
	}
	}


+2 −2
Original line number Original line Diff line number Diff line
@@ -9941,7 +9941,7 @@ static int bnx2x_848x3_config_init(struct bnx2x_phy *phy,
		else
		else
			rc = bnx2x_8483x_disable_eee(phy, params, vars);
			rc = bnx2x_8483x_disable_eee(phy, params, vars);
		if (rc) {
		if (rc) {
			DP(NETIF_MSG_LINK, "Failed to set EEE advertisment\n");
			DP(NETIF_MSG_LINK, "Failed to set EEE advertisement\n");
			return rc;
			return rc;
		}
		}
	} else {
	} else {
@@ -12987,7 +12987,7 @@ static u8 bnx2x_analyze_link_error(struct link_params *params,
		DP(NETIF_MSG_LINK, "Analyze TX Fault\n");
		DP(NETIF_MSG_LINK, "Analyze TX Fault\n");
		break;
		break;
	default:
	default:
		DP(NETIF_MSG_LINK, "Analyze UNKOWN\n");
		DP(NETIF_MSG_LINK, "Analyze UNKNOWN\n");
	}
	}
	DP(NETIF_MSG_LINK, "Link changed:[%x %x]->%x\n", vars->link_up,
	DP(NETIF_MSG_LINK, "Link changed:[%x %x]->%x\n", vars->link_up,
	   old_status, status);
	   old_status, status);
Loading