1. 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
  2. 14 Feb, 2019 10 commits
  3. 13 Feb, 2019 6 commits
  4. 12 Feb, 2019 9 commits
  5. 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
  6. 10 Feb, 2019 7 commits
  7. 09 Feb, 2019 2 commits
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · df3865f8
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "One PM related driver bugfix and a MAINTAINERS update"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: Update the ocores i2c bus driver maintainer, etc
        i2c: omap: Use noirq system sleep pm ops to idle device for suspend
      df3865f8
    • Linus Torvalds's avatar
      Merge tag 'mips_fixes_5.0_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · e8b50608
      Linus Torvalds authored
      Pull MIPS fixes from Paul Burton:
       "A batch of MIPS fixes for 5.0, nothing too scary.
      
         - A workaround for a Loongson 3 CPU bug is the biggest change, but
           still fairly straightforward. It adds extra memory barriers (sync
           instructions) around atomics to avoid a CPU bug that can break
           atomicity.
      
         - Loongson64 also sees a fix for powering off some systems which
           would incorrectly reboot rather than waiting for the power down
           sequence to complete.
      
         - We have DT fixes for the Ingenic JZ4740 SoC & the JZ4780-based Ci20
           board, and a DT warning fix for the Nexsys4/MIPSfpga board.
      
         - The Cavium Octeon platform sees a further fix to the behaviour of
           the pcie_disable command line argument that was introduced in v3.3.
      
         - The VDSO, introduced in v4.4, sees build fixes for configurations
           of GCC that were built using the --with-fp-32= flag to specify a
           default 32-bit floating point ABI.
      
         - get_frame_info() sees a fix for configurations with
           CONFIG_KALLSYMS=n, for which it previously always returned an
           error.
      
         - If the MIPS Coherence Manager (CM) reports an error then we'll now
           clear that error correctly so that the GCR_ERROR_CAUSE register
           will be updated with information about any future errors"
      
      * tag 'mips_fixes_5.0_3' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
        mips: cm: reprime error cause
        mips: loongson64: remove unreachable(), fix loongson_poweroff().
        MIPS: Remove function size check in get_frame_info()
        MIPS: Use lower case for addresses in nexys4ddr.dts
        MIPS: Loongson: Introduce and use loongson_llsc_mb()
        MIPS: VDSO: Include $(ccflags-vdso) in o32,n32 .lds builds
        MIPS: VDSO: Use same -m%-float cflag as the kernel proper
        MIPS: OCTEON: don't set octeon_dma_bar_type if PCI is disabled
        DTS: CI20: Fix bugs in ci20's device tree.
        MIPS: DTS: jz4740: Correct interrupt number of DMA core
      e8b50608