Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux...
authorHuang, Tao <huangtao@rock-chips.com>
Wed, 1 Mar 2017 10:40:28 +0000 (18:40 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Wed, 1 Mar 2017 10:40:28 +0000 (18:40 +0800)
* linux-linaro-lsk-v4.4-android: (434 commits)
  Linux 4.4.52
  kvm: vmx: ensure VMCS is current while enabling PML
  Revert "usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA"
  rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down
  block: fix double-free in the failure path of cgwb_bdi_init()
  goldfish: Sanitize the broken interrupt handler
  x86/platform/goldfish: Prevent unconditional loading
  USB: serial: ark3116: fix register-accessor error handling
  USB: serial: opticon: fix CTS retrieval at open
  USB: serial: spcp8x5: fix modem-status handling
  USB: serial: ftdi_sio: fix line-status over-reporting
  USB: serial: ftdi_sio: fix extreme low-latency setting
  USB: serial: ftdi_sio: fix modem-status error handling
  USB: serial: cp210x: add new IDs for GE Bx50v3 boards
  USB: serial: mos7840: fix another NULL-deref at open
  tty: serial: msm: Fix module autoload
  net: socket: fix recvmmsg not returning error from sock_error
  ip: fix IP_CHECKSUM handling
  irda: Fix lockdep annotations in hashbin_delete().
  dccp: fix freeing skb too early for IPV6_RECVPKTINFO
  ...

Conflicts:
drivers/mmc/core/mmc.c
drivers/usb/dwc3/ep0.c
drivers/usb/host/xhci.h

Change-Id: Icf331a68162ab686d01996a3f43fa2e97543f62e

20 files changed:
1  2 
Makefile
drivers/dma/pl330.c
drivers/gpu/drm/i915/intel_crt.c
drivers/gpu/drm/i915/intel_display.c
drivers/i2c/i2c-core.c
drivers/mmc/core/mmc.c
drivers/mmc/host/sdhci.c
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
drivers/pci/pcie/aspm.c
drivers/usb/core/hub.c
drivers/usb/dwc3/core.h
drivers/usb/dwc3/dwc3-pci.c
drivers/usb/dwc3/ep0.c
drivers/usb/dwc3/gadget.c
drivers/usb/gadget/composite.c
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h
kernel/sched/fair.c
sound/usb/quirks.c

diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
index b867f66a19aae7a4feb9b5fde7032aa05766e83c,79a0c26e14190077d707f9e0141ca230e6d13d2d..7a20989adabb5a08c119aee70e32fb277c692615
@@@ -1661,10 -1581,10 +1661,10 @@@ static int mmc_init_card(struct mmc_hos
                err = mmc_select_hs400(card);
                if (err)
                        goto free_card;
-       } else if (mmc_card_hs(card)) {
+       } else {
                /* Select the desired bus width optionally */
                err = mmc_select_bus_width(card);
-               if (err > 0) {
 -              if (!IS_ERR_VALUE(err) && mmc_card_hs(card)) {
++              if (err > 0 && mmc_card_hs(card)) {
                        err = mmc_select_hs_ddr(card);
                        if (err)
                                goto free_card;
Simple merge
Simple merge
Simple merge
Simple merge
index 2eb84d6c24a6903fe57039e59a4321d7bb7ac6b3,d2c0c1a8d979bf007e730e8e1354d1ff740b6d80..5f40ea2b8aa9e8c8f6c2295795c8635b2a88d762
  #define PCI_DEVICE_ID_INTEL_SPTLP             0x9d30
  #define PCI_DEVICE_ID_INTEL_SPTH              0xa130
  #define PCI_DEVICE_ID_INTEL_BXT                       0x0aaa
 +#define PCI_DEVICE_ID_INTEL_BXT_M             0x1aaa
  #define PCI_DEVICE_ID_INTEL_APL                       0x5aaa
  #define PCI_DEVICE_ID_INTEL_KBP                       0xa2b0
+ #define PCI_DEVICE_ID_INTEL_GLK                       0x31aa
  
  static const struct acpi_gpio_params reset_gpios = { 0, 0, false };
  static const struct acpi_gpio_params cs_gpios = { 1, 0, false };
@@@ -226,9 -215,9 +227,10 @@@ static const struct pci_device_id dwc3_
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SPTLP), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_SPTH), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BXT), },
 +      { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_BXT_M), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_APL), },
        { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_KBP), },
+       { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_GLK), },
        { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_NL_USB), },
        {  }    /* Terminating Entry */
  };
index 763fac772398436c8b53e755367436c64c69bd39,f13e9e9fb834a2ad15367a21990897abee5fb305..257c725e5d7ab631c90394ef065d98152f86841a
@@@ -61,19 -61,12 +61,12 @@@ static void dwc3_ep0_prepare_one_trb(st
        struct dwc3_trb                 *trb;
        struct dwc3_ep                  *dep;
  
-       int                             ret;
        dep = dwc->eps[epnum];
-       if (dep->flags & DWC3_EP_BUSY) {
-               dwc3_trace(trace_dwc3_ep0, "%s still busy", dep->name);
-               return 0;
-       }
  
 -      trb = &dwc->ep0_trb[dep->free_slot];
 +      trb = &dwc->ep0_trb[dep->trb_enqueue];
  
        if (chain)
 -              dep->free_slot++;
 +              dep->trb_enqueue++;
  
        trb->bpl = lower_32_bits(buf_dma);
        trb->bph = upper_32_bits(buf_dma);
@@@ -96,9 -101,8 +101,7 @@@ static int dwc3_ep0_start_trans(struct 
        params.param0 = upper_32_bits(dwc->ep0_trb_addr);
        params.param1 = lower_32_bits(dwc->ep0_trb_addr);
  
-       trace_dwc3_prepare_trb(dep, trb);
 -      ret = dwc3_send_gadget_ep_cmd(dwc, dep->number,
 -                      DWC3_DEPCMD_STARTTRANSFER, &params);
 +      ret = dwc3_send_gadget_ep_cmd(dep, DWC3_DEPCMD_STARTTRANSFER, &params);
        if (ret < 0) {
                dwc3_trace(trace_dwc3_ep0, "%s STARTTRANSFER failed",
                                dep->name);
index dc1d36028ab091e64d048b2cc244c16884cafcb3,210ff64857e1992cc62e3c3a8eed91bda1eb1ebc..3399679513a8a310ca50156cce5642ea4572004a
@@@ -189,12 -259,15 +189,12 @@@ void dwc3_gadget_giveback(struct dwc3_e
        if (req->request.status == -EINPROGRESS)
                req->request.status = status;
  
-       if (dwc->ep0_bounced && dep->number == 0)
+       if (dwc->ep0_bounced && dep->number <= 1)
                dwc->ep0_bounced = false;
-       else
-               usb_gadget_unmap_request(&dwc->gadget, &req->request,
-                               req->direction);
+       usb_gadget_unmap_request(&dwc->gadget, &req->request,
+                       req->direction);
  
 -      dev_dbg(dwc->dev, "request %p from %s completed %d/%d ===> %d\n",
 -                      req, dep->name, req->request.actual,
 -                      req->request.length, status);
        trace_dwc3_gadget_giveback(req);
  
        spin_unlock(&dwc->lock);
Simple merge
Simple merge
Simple merge
index 8de8cdabc9551e9b11841a6b1e5f0af2c2c29995,fc2ee6c272c4cc0fdfa5d812a57184da98a1f945..7c413e2376b8bf1d82623d84a2618d64fac5c7b0
@@@ -1631,7 -1634,7 +1634,8 @@@ struct xhci_hcd 
  /* For controllers with a broken beyond repair streams implementation */
  #define XHCI_BROKEN_STREAMS   (1 << 19)
  #define XHCI_PME_STUCK_QUIRK  (1 << 20)
 +#define XHCI_DIS_AUTOSUSPEND  (1 << 21)
+ #define XHCI_MISSING_CAS      (1 << 24)
        unsigned int            num_active_eps;
        unsigned int            limit_active_eps;
        /* There are two roothubs to keep track of bus suspend info for */
Simple merge
Simple merge