1. 19 Feb, 2019 4 commits
  2. 15 Feb, 2019 1 commit
    • Greg Kroah-Hartman's avatar
      Merge tag 'usb-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next · dc8b2a69
      Greg Kroah-Hartman authored
      Felipe writes:
      
      USB: changes for v5.1 merge window
      
      Dwc3 now works on TI's AM6xx platforms. Also on dwc3 we have a few
      changes which improve request cancellation and some improvements to
      how we print to the trace buffer.
      
      Renesas_usb3 got support for r8a774c0 device.
      
      Dwc2 got scatter-gather support.
      
      Apart from these, the usual set of minor fixes and all sorts of small
      details.
      
      * tag 'usb-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb: (40 commits)
        usb: phy: twl6030-usb: fix possible use-after-free on remove
        usb: misc: usbtest: add super-speed isoc support
        usb: dwc3: Reset num_trbs after skipping
        usb: dwc3: gadget: don't enable interrupt when disabling endpoint
        fotg210-udc: pass struct device to DMA API functions
        fotg210-udc: remove a bogus dma_sync_single_for_device call
        usb: gadget: Change Andrzej Pietrasiewicz's e-mail address
        usb: f_fs: Avoid crash due to out-of-scope stack ptr access
        usb: dwc3: haps: Workaround matching VID PID
        usb: gadget: f_fs: preserve wMaxPacketSize across usb_ep_autoconfig() call
        usb: gadget: move non-super speed code out of usb_ep_autoconfig_ss()
        usb: gadget: function: sync f_uac1 ac header baInterfaceNr
        usb: dwc2: gadget: Add scatter-gather mode
        usb: gadget: fix various indentation issues
        usb: dwc2: Fix EP TxFIFO number setting
        udc: net2280: Fix net2280_disable
        USB: gadget: Improve kerneldoc for usb_ep_dequeue()
        usb: dwc3: debug: purge usage of strcat
        usb: dwc3: trace: pass trace buffer size to decoding functions
        usb: dwc3: gadget: remove DWC3_EP_END_TRANSFER_PENDING
        ...
      dc8b2a69
  3. 14 Feb, 2019 10 commits
  4. 13 Feb, 2019 6 commits
  5. 12 Feb, 2019 9 commits
  6. 11 Feb, 2019 5 commits
    • Christoph Hellwig's avatar
      fotg210-udc: pass struct device to DMA API functions · e26bdb01
      Christoph Hellwig authored
      The DMA API generally relies on a struct device to work properly, and
      only barely works without one for legacy reasons.  Pass the easily
      available struct device from the platform_device to remedy this.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      e26bdb01
    • Christoph Hellwig's avatar
      fotg210-udc: remove a bogus dma_sync_single_for_device call · 8c7ffa5e
      Christoph Hellwig authored
      dma_map_single already transfers ownership to the device.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      8c7ffa5e
    • Andrzej Pietrasiewicz's avatar
      usb: gadget: Change Andrzej Pietrasiewicz's e-mail address · 1b4a3b51
      Andrzej Pietrasiewicz authored
      My @samusung.com address is going to cease existing soon, so change it to
      an address which can actually be used to contact me.
      Signed-off-by: default avatarAndrzej Pietrasiewicz <andrzej.p@samsung.com>
      Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      1b4a3b51
    • John Stultz's avatar
      usb: f_fs: Avoid crash due to out-of-scope stack ptr access · 54f64d5c
      John Stultz authored
      Since the 5.0 merge window opened, I've been seeing frequent
      crashes on suspend and reboot with the trace:
      
      [   36.911170] Unable to handle kernel paging request at virtual address ffffff801153d660
      [   36.912769] Unable to handle kernel paging request at virtual address ffffff800004b564
      ...
      [   36.950666] Call trace:
      [   36.950670]  queued_spin_lock_slowpath+0x1cc/0x2c8
      [   36.950681]  _raw_spin_lock_irqsave+0x64/0x78
      [   36.950692]  complete+0x28/0x70
      [   36.950703]  ffs_epfile_io_complete+0x3c/0x50
      [   36.950713]  usb_gadget_giveback_request+0x34/0x108
      [   36.950721]  dwc3_gadget_giveback+0x50/0x68
      [   36.950723]  dwc3_thread_interrupt+0x358/0x1488
      [   36.950731]  irq_thread_fn+0x30/0x88
      [   36.950734]  irq_thread+0x114/0x1b0
      [   36.950739]  kthread+0x104/0x130
      [   36.950747]  ret_from_fork+0x10/0x1c
      
      I isolated this down to in ffs_epfile_io():
      https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/gadget/function/f_fs.c#n1065
      
      Where the completion done is setup on the stack:
        DECLARE_COMPLETION_ONSTACK(done);
      
      Then later we setup a request and queue it, and wait for it:
        if (unlikely(wait_for_completion_interruptible(&done))) {
          /*
          * To avoid race condition with ffs_epfile_io_complete,
          * dequeue the request first then check
          * status. usb_ep_dequeue API should guarantee no race
          * condition with req->complete callback.
          */
          usb_ep_dequeue(ep->ep, req);
          interrupted = ep->status < 0;
        }
      
      The problem is, that we end up being interrupted, dequeue the
      request, and exit.
      
      But then the irq triggers and we try calling complete() on the
      context pointer which points to now random stack space, which
      results in the panic.
      
      Alan Stern pointed out there is a bug here, in that the snippet
      above "assumes that usb_ep_dequeue() waits until the request has
      been completed." And that:
      
          wait_for_completion(&done);
      
      Is needed right after the usb_ep_dequeue().
      
      Thus this patch implements that change. With it I no longer see
      the crashes on suspend or reboot.
      
      This issue seems to have been uncovered by behavioral changes in
      the dwc3 driver in commit fec9095b ("usb: dwc3: gadget:
      remove wait_end_transfer").
      
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Felipe Balbi <balbi@kernel.org>
      Cc: Zeng Tao <prime.zeng@hisilicon.com>
      Cc: Jack Pham <jackp@codeaurora.org>
      Cc: Thinh Nguyen <thinh.nguyen@synopsys.com>
      Cc: Chen Yu <chenyu56@huawei.com>
      Cc: Jerry Zhang <zhangjerry@google.com>
      Cc: Lars-Peter Clausen <lars@metafoo.de>
      Cc: Vincent Pelletier <plr.vincent@gmail.com>
      Cc: Andrzej Pietrasiewicz <andrzej.p@samsung.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Linux USB List <linux-usb@vger.kernel.org>
      Suggested-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
      Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
      54f64d5c
    • Greg Kroah-Hartman's avatar
      Merge 5.0-rc6 into usb-next · 15e99b13
      Greg Kroah-Hartman authored
      We need the USB fixes in here as well.
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      15e99b13
  7. 10 Feb, 2019 5 commits
    • Linus Torvalds's avatar
      Linux 5.0-rc6 · d1393711
      Linus Torvalds authored
      d1393711
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-5.0-rc6' of git://git.infradead.org/users/vkoul/slave-dma · 68d94a84
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       - Fix in at_xdmac fr wrongful channel state
       - Fix for imx driver for wrong callback invocation
       - Fix to bcm driver for interrupt race & transaction abort.
       - Fix in dmatest to abort in mapping error
      
      * tag 'dmaengine-fix-5.0-rc6' of git://git.infradead.org/users/vkoul/slave-dma:
        dmaengine: dmatest: Abort test in case of mapping error
        dmaengine: bcm2835: Fix abort of transactions
        dmaengine: bcm2835: Fix interrupt race on RT
        dmaengine: imx-dma: fix wrong callback invoke
        dmaengine: at_xdmac: Fix wrongfull report of a channel as in use
      68d94a84
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · aadaa806
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "A handful of fixes:
      
         - Fix an MCE corner case bug/crash found via MCE injection testing
      
         - Fix 5-level paging boot crash
      
         - Fix MCE recovery cache invalidation bug
      
         - Fix regression on Xen guests caused by a recent PMD level mremap
           speedup optimization"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Make set_pmd_at() paravirt aware
        x86/mm/cpa: Fix set_mce_nospec()
        x86/boot/compressed/64: Do not corrupt EDX on EFER.LME=1 setting
        x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()
      aadaa806
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 73a4c521
      Linus Torvalds authored
      Pull irq fixes from Ingo Molnar:
       "irqchip driver fixes: most of them are race fixes for ARM GIC (General
        Interrupt Controller) variants, but also a fix for the ARM MMP
        (Marvell PXA168 et al) irqchip affecting OLPC keyboards"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/gic-v3-its: Fix ITT_entry_size accessor
        irqchip/mmp: Only touch the PJ4 IRQ & FIQ bits on enable/disable
        irqchip/gic-v3-its: Gracefully fail on LPI exhaustion
        irqchip/gic-v3-its: Plug allocation race for devices sharing a DevID
        irqchip/gic-v4: Fix occasional VLPI drop
      73a4c521
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 212146f0
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "A couple of kernel side fixes:
      
         - Fix the Intel uncore driver on certain hardware configurations
      
         - Fix a CPU hotplug related memory allocation bug
      
         - Remove a spurious WARN()
      
        ... plus also a handful of perf tooling fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf script python: Add Python3 support to tests/attr.py
        perf trace: Support multiple "vfs_getname" probes
        perf symbols: Filter out hidden symbols from labels
        perf symbols: Add fallback definitions for GELF_ST_VISIBILITY()
        tools headers uapi: Sync linux/in.h copy from the kernel sources
        perf clang: Do not use 'return std::move(something)'
        perf mem/c2c: Fix perf_mem_events to support powerpc
        perf tests evsel-tp-sched: Fix bitwise operator
        perf/core: Don't WARN() for impossible ring-buffer sizes
        perf/x86/intel: Delay memory deallocation until x86_pmu_dead_cpu()
        perf/x86/intel/uncore: Add Node ID mask
      212146f0