Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
authorAmit Pundir <amit.pundir@linaro.org>
Tue, 15 Nov 2016 12:46:35 +0000 (18:16 +0530)
committerAmit Pundir <amit.pundir@linaro.org>
Tue, 15 Nov 2016 13:03:34 +0000 (18:33 +0530)
Conflicts:
* arch/arm64/include/asm/assembler.h
    Pick changes from AOSP Change-Id: I450594dc311b09b6b832b707a9abb357608cc6e4
    ("UPSTREAM: arm64: include alternative handling in dcache_by_line_op").

* drivers/android/binder.c
    Pick changes from LTS commit 14f09e8e7cd8 ("ANDROID: binder: Add strong ref checks"),
    instead of AOSP Change-Id: I66c15b066808f28bd27bfe50fd0e03ff45a09fca
    ("ANDROID: binder: Add strong ref checks").

* drivers/usb/gadget/function/u_ether.c
    Refactor throttling of highspeed IRQ logic in AOSP by adding
    a check for last queue request as intended by LTS commit
    660c04e8f174 ("usb: gadget: function: u_ether: don't starve tx request queue").
    Fixes AOSP Change-Id: I26515bfd9bbc8f7af38be7835692143f7093118a
    ("USB: gadget: u_ether: Fix data stall issue in RNDIS tethering mode").

Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
28 files changed:
1  2 
arch/arm/Kconfig
arch/arm64/Kconfig
arch/arm64/include/asm/cpufeature.h
arch/arm64/include/asm/memory.h
arch/arm64/kernel/asm-offsets.c
arch/arm64/kernel/cpufeature.c
arch/arm64/kernel/head.S
arch/arm64/kernel/setup.c
arch/arm64/kernel/vmlinux.lds.S
arch/arm64/mm/proc.S
arch/x86/include/asm/uaccess.h
drivers/android/binder.c
drivers/usb/gadget/function/u_ether.c
include/net/ip.h
include/net/sock.h
include/uapi/linux/rtnetlink.h
kernel/cgroup.c
mm/memcontrol.c
net/ipv4/af_inet.c
net/ipv4/route.c
net/ipv4/sysctl_net_ipv4.c
net/ipv4/tcp_input.c
net/ipv4/tcp_output.c
net/ipv4/udp.c
net/ipv6/addrconf.c
net/ipv6/route.c
net/ipv6/tcp_ipv6.c
net/ipv6/udp.c

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index 74e9f5b5a45dd64d3cd4c3934d06a1637f1af6ef,b644248f4b8e31532e73b93bce50e7d14af01b58..e4920e5e1d647ff92c5118545309f1eb99396c36
@@@ -741,19 -594,13 +741,20 @@@ static netdev_tx_t eth_start_xmit(struc
  
        req->length = length;
  
 -      /* throttle high/super speed IRQ rate back slightly */
 -      if (gadget_is_dualspeed(dev->gadget))
 -              req->no_interrupt = (((dev->gadget->speed == USB_SPEED_HIGH ||
 -                                     dev->gadget->speed == USB_SPEED_SUPER)) &&
 -                                      !list_empty(&dev->tx_reqs))
 -                      ? ((atomic_read(&dev->tx_qlen) % dev->qmult) != 0)
 -                      : 0;
 +      /* throttle highspeed IRQ rate back slightly */
 +      if (gadget_is_dualspeed(dev->gadget) &&
-                        (dev->gadget->speed == USB_SPEED_HIGH)) {
++                       (dev->gadget->speed == USB_SPEED_HIGH) &&
++                       !list_empty(&dev->tx_reqs)) {
 +              dev->tx_qlen++;
 +              if (dev->tx_qlen == (dev->qmult/2)) {
 +                      req->no_interrupt = 0;
 +                      dev->tx_qlen = 0;
 +              } else {
 +                      req->no_interrupt = 1;
 +              }
 +      } else {
 +              req->no_interrupt = 0;
 +      }
  
        retval = usb_ep_queue(in, req, GFP_ATOMIC);
        switch (retval) {
Simple merge
Simple merge
Simple merge
diff --cc kernel/cgroup.c
Simple merge
diff --cc mm/memcontrol.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/udp.c
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/udp.c
Simple merge