1. 18 Mar, 2015 3 commits
    • Peter Chen's avatar
      usb: common: otg-fsm: only signal connect after switching to peripheral · a886bd92
      Peter Chen authored
      We should signal connect (pull up dp) after we have already
      at peripheral mode, otherwise, the dp may be toggled due to
      we reset controller or do disconnect during the initialization
      for peripheral, then, the host may be confused during the
      enumeration, eg, it finds the reset can't succeed, but the
      device is still there, see below error message.
      
      hub 1-0:1.0: USB hub found
      hub 1-0:1.0: 1 port detected
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: cannot reset port 1 (err = -32)
      hub 1-0:1.0: Cannot enable port 1.  Maybe the USB cable is bad?
      hub 1-0:1.0: unable to enumerate USB device on port 1
      
      Fixes: the issue existed when the otg fsm code was added.
      Cc: <stable@vger.kernel.org> # v3.16+
      Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a886bd92
    • Hans de Goede's avatar
      uas: Add US_FL_NO_ATA_1X for Initio Corporation controllers / devices · bda13e35
      Hans de Goede authored
      A new uas compatible controller has shown up in some people's devices from
      the manufacturer Initio Corporation, this controller needs the US_FL_NO_ATA_1X
      quirk to work properly with uas, so add it to the uas quirks table.
      Reported-and-tested-by: default avatarBenjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
      Cc: stable@vger.kernel.org # 3.16
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      bda13e35
    • Boris Brezillon's avatar
      USB: ehci-atmel: rework clk handling · e32643a7
      Boris Brezillon authored
      The EHCI IP only needs the UTMI/UPLL (uclk) and the peripheral (iclk)
      clocks to work properly. Remove the useless system clock (fclk).
      
      Avoid calling set_rate on the fixed rate UTMI/IPLL clock and remove
      useless IS_ENABLED(CONFIG_COMMON_CLK) tests (all at91 platforms have been
      moved to the CCF).
      
      This patch also fixes a bug introduced by 3440ef16 (ARM: at91/dt: fix USB
      high-speed clock to select UTMI), which was leaving the usb clock
      uninitialized and preventing the OHCI driver from setting the usb clock
      rate to 48MHz.
      This bug was caused by several things:
      1/ usb clock drivers set the CLK_SET_RATE_GATE flag, which means the rate
         cannot be changed once the clock is prepared
      2/ The EHCI driver was retrieving and preparing/enabling the uhpck
         clock which was in turn preparing its parent clock (the usb clock),
         thus preventing any rate change because of 1/
      
      Fixes: 3440ef16 ("ARM: at91/dt: fix USB high-speed clock to select UTMI")
      Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      e32643a7
  2. 15 Mar, 2015 3 commits
    • Peter Chen's avatar
      MAINTAINERS: add entry for USB OTG FSM · 963ffa3e
      Peter Chen authored
      Add MAINTAINER entry for USB OTG Finite State Machine
      
      Cc: Felipe Balbi <balbi@ti.com>
      Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      963ffa3e
    • Li Jun's avatar
      usb: chipidea: otg: add a_alt_hnp_support response for B device · d20f7807
      Li Jun authored
      This patch adds response to a_alt_hnp_support set feature request from legacy
      A device, that is, B-device can provide a message to the user indicating that
      the user needs to connect the B-device to an alternate port on the A-device.
      A device sets this feature indicates to the B-device that it is connected
      to an A-device port that is not capable of HNP, but that the A-device does have
      an alternate port that is capable of HNP.
      
      [Peter]
      Without this patch, the OTG B device can't be enumerated on
      non-HNP port at A device, see below log:
      [    2.287464] usb 1-1: Dual-Role OTG device on non-HNP port
      [    2.293105] usb 1-1: can't set HNP mode: -32
      [    2.417422] usb 1-1: new high-speed USB device number 4 using ci_hdrc
      [    2.460635] usb 1-1: Dual-Role OTG device on non-HNP port
      [    2.466424] usb 1-1: can't set HNP mode: -32
      [    2.587464] usb 1-1: new high-speed USB device number 5 using ci_hdrc
      [    2.630649] usb 1-1: Dual-Role OTG device on non-HNP port
      [    2.636436] usb 1-1: can't set HNP mode: -32
      [    2.641003] usb usb1-port1: unable to enumerate USB device
      
      Cc: stable <stable@vger.kernel.org>
      Acked-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarLi Jun <b47624@freescale.com>
      Signed-off-by: default avatarPeter Chen <peter.chen@freescale.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d20f7807
    • Greg Kroah-Hartman's avatar
      Merge tag 'for-4.0-rc' of... · c526c216
      Greg Kroah-Hartman authored
      Merge tag 'for-4.0-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-linus
      
      Kishon writes:
      
      contains fixes all over drivers/phy and includes the following
      *) Using phy_get_drvdata instead of dev_get_drvdata in armada375-usb2.c
      *) Fixes w.r.t checking return values in regmap APIs, protecting regmap ops
         with spin lock and directly using regmap_update_bits instead of having a
         separate function to do the same in the various PHYs used in exynos.
      *) check return value in platform_get_resource of hix5hd2-sata PHY
      *) Removed NULL terminating entry from phys array and fix off-by-one
         valid value checking for args->args[0] in of_xlate of exynos USB PHY.
      *) Fixup rockchip_usb_phy_power_on failure path
      *) Fix devm_phy_match to find the correct match in phy core and also fix to
         return the correct value from PHY APIs if PM runtime is not enabled.
      *) Removed redundant code in twl4030 and xgene
      *) Fixed sizeof during memory allocation in miphy PHYs
      *) simplify ti_pipe3_dpll_wait_lock implementation, fix missing clk_prepare
         when using old dt name and nit pick in MOUDLE_ALIAS in TI PHYs.
      c526c216
  3. 14 Mar, 2015 1 commit
  4. 13 Mar, 2015 8 commits
  5. 12 Mar, 2015 5 commits
  6. 11 Mar, 2015 3 commits
  7. 10 Mar, 2015 2 commits
  8. 09 Mar, 2015 4 commits
    • Sudeep Holla's avatar
      usb: isp1760: add peripheral/device controller chip id · 1998adab
      Sudeep Holla authored
      As per the SAF1761 data sheet[0], the DcChipID register represents
      the hardware version number (0001h) and the chip ID (1582h) for the
      Peripheral Controller.
      
      However as per the ISP1761 data sheet[1], the DcChipID register
      represents the hardware version number (0015h) and the chip ID (8210h)
      for the Peripheral Controller.
      
      This patch adds support for both the chip ID values.
      
      [0] http://www.nxp.com/documents/data_sheet/SAF1761.pdf
      [1] http://pdf.datasheetcatalog.com/datasheets2/74/742102_1.pdfAcked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      1998adab
    • Valentin Rothberg's avatar
      usb: isp1760: set IRQ flags properly · 80b4a0f8
      Valentin Rothberg authored
      The IRQF_DISABLED is a NOOP and scheduled to be removed.  According to
      commit e58aa3d2 ("genirq: Run irq handlers with interrupts
      disabled") running IRQ handlers with interrupts enabled can cause stack
      overflows when the interrupt line of the issuing device is still active.
      
      This patch removes using this deprecated flag and additionally removes
      redundantly setting IRQF_SHARED for isp1760_udc_register().
      Signed-off-by: default avatarValentin Rothberg <Valentin.Rothberg@lip6.fr>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      80b4a0f8
    • Arnd Bergmann's avatar
      usb: musb: fix Kconfig regression · 1c390eb3
      Arnd Bergmann authored
      A recent bug fix I did that was marked for stable backports
      introduced a slightly wrong dependency on CONFIG_OMAP_CONTROL_PHY.
      
      I was missing the fact that the PHY driver already stubs out the
      omap_control_usb_set_mode, and we only need to add a dependency
      to prevent the musb-omap2430 driver from being built-in when
      the phy driver is a loadable module, but we should not prevent it
      from being built altogether when the phy driver is disabled.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Fixes: ca784be3 ("usb: start using the control module driver")
      Cc: <stable@vger.kernel.org> # v3.9+
      Acked-by: default avatarAcked-by: Pavel Machek <pavel@ucw.cz>
      Tested-by: default avatarAaro Koskinen <aaro.koskinen@iki.fi>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      1c390eb3
    • Sudeep Holla's avatar
      usb: isp1760: fix possible deadlock in isp1760_udc_irq · 79852397
      Sudeep Holla authored
      Use spin_{un,}lock_irq{save,restore} in isp1760_udc_{start,stop} to
      prevent following potentially deadlock scenario between
      isp1760_udc_{start,stop} and isp1760_udc_irq :
      
      =================================
      [ INFO: inconsistent lock state ]
      4.0.0-rc2-00004-gf7bb2ef60173 #51 Not tainted
      ---------------------------------
      inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
      in:imklog/2118 [HC1[1]:SC0[0]:HE0:SE1] takes:
       (&(&udc->lock)->rlock){?.+...}, at: [<c0397a93>] isp1760_udc_irq+0x367/0x9dc
      {HARDIRQ-ON-W} state was registered at:
        [<c05135b3>] _raw_spin_lock+0x23/0x30
        [<c0396b87>] isp1760_udc_start+0x23/0xf8
        [<c039dc21>] udc_bind_to_driver+0x71/0xb0
        [<c039de4f>] usb_gadget_probe_driver+0x53/0x9c
        [<bf80d0df>] usb_composite_probe+0x8a/0xa4 [libcomposite]
        [<bf8311a7>] 0xbf8311a7
        [<c00088c5>] do_one_initcall+0x8d/0x17c
        [<c050b92d>] do_init_module+0x49/0x148
        [<c0087323>] load_module+0xb7f/0xbc4
        [<c0087471>] SyS_finit_module+0x51/0x74
        [<c000d8c1>] ret_fast_syscall+0x1/0x68
      irq event stamp: 4966
      hardirqs last  enabled at (4965): [<c05137df>] _raw_spin_unlock_irq+0x1f/0x24
      hardirqs last disabled at (4966): [<c00110b3>] __irq_svc+0x33/0x64
      softirqs last  enabled at (4458): [<c0023475>] __do_softirq+0x23d/0x2d0
      softirqs last disabled at (4389): [<c002380b>] irq_exit+0xef/0x15c
      
      other info that might help us debug this:
       Possible unsafe locking scenario:
      
             CPU0
             ----
        lock(&(&udc->lock)->rlock);
        <Interrupt>
          lock(&(&udc->lock)->rlock);
      
       *** DEADLOCK ***
      
      1 lock held by in:imklog/2118:
       #0:  (&f->f_pos_lock){+.+.+.}, at: [<c010a101>] __fdget_pos+0x31/0x34
      Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      79852397
  9. 08 Mar, 2015 7 commits
    • Linus Torvalds's avatar
      Linux 4.0-rc3 · 9eccca08
      Linus Torvalds authored
      9eccca08
    • Al Viro's avatar
      sunrpc: fix braino in ->poll() · 1711fd9a
      Al Viro authored
      POLL_OUT isn't what callers of ->poll() are expecting to see; it's
      actually __SI_POLL | 2 and it's a siginfo code, not a poll bitmap
      bit...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Cc: stable@vger.kernel.org
      Cc: Bruce Fields <bfields@fieldses.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1711fd9a
    • Linus Torvalds's avatar
      Merge tag 'usb-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 1163d504
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here's a round of USB fixes for 4.0-rc3.
      
        Nothing major, the usual gadget, xhci and usb-serial fixes and a few
        new device ids as well.
      
        All have been in linux-next successfully"
      
      * tag 'usb-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (36 commits)
        xhci: Workaround for PME stuck issues in Intel xhci
        xhci: fix reporting of 0-sized URBs in control endpoint
        usb: ftdi_sio: Add jtag quirk support for Cyber Cortex AV boards
        USB: ch341: set tty baud speed according to tty struct
        USB: serial: cp210x: Adding Seletek device id's
        USB: pl2303: disable break on shutdown
        USB: mxuport: fix null deref when used as a console
        USB: serial: clean up bus probe error handling
        USB: serial: fix port attribute-creation race
        USB: serial: fix tty-device error handling at probe
        USB: serial: fix potential use-after-free after failed probe
        USB: console: add dummy __module_get
        USB: ftdi_sio: add PIDs for Actisense USB devices
        Revert "USB: serial: make bulk_out_size a lower limit"
        cdc-acm: Add support for Denso cradle CU-321
        usb-storage: support for more than 8 LUNs
        uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS539
        USB: usbfs: don't leak kernel data in siginfo
        xhci: Clear the host side toggle manually when endpoint is 'soft reset'
        xhci: Allocate correct amount of scratchpad buffers
        ...
      1163d504
    • Linus Torvalds's avatar
      Merge tag 'tty-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · bbbce516
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are some tty and serial driver fixes for 4.0-rc3.
      
        Along with the atime fix that you know about, here are some other
        serial driver bugfixes as well.  Most notable is a wait_until_sent
        bugfix that was traced back to being around since before 2.6.12 that
        Johan has fixed up.
      
        All have been in linux-next successfully"
      
      * tag 'tty-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        TTY: fix tty_wait_until_sent maximum timeout
        TTY: fix tty_wait_until_sent on 64-bit machines
        USB: serial: fix infinite wait_until_sent timeout
        TTY: bfin_jtag_comm: remove incorrect wait_until_sent operation
        net: irda: fix wait_until_sent poll timeout
        serial: uapi: Declare all userspace-visible io types
        serial: core: Fix iotype userspace breakage
        serial: sprd: Fix missing spin_unlock in sprd_handle_irq()
        console: Fix console name size mismatch
        tty: fix up atime/mtime mess, take four
        serial: 8250_dw: Fix get_mctrl behaviour
        serial:8250:8250_pci: delete unneeded quirk entries
        serial:8250:8250_pci: fix redundant entry report for WCH_CH352_2S
        Change email address for 8250_pci
        serial: 8250: Revert "tty: serial: 8250_core: read only RX if there is something in the FIFO"
        Revert "tty/serial: of_serial: add DT alias ID handling"
      bbbce516
    • Linus Torvalds's avatar
      Merge tag 'staging-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 47df986b
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are some IIO and staging driver fixes for 4.0-rc3.
      
        Details are in the shortlog, nothing major, mostly IIO fixes for
        reported issues.
      
        All have been in linux-next successfully"
      
      * tag 'staging-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (23 commits)
        staging: comedi: adv_pci1710: fix AI INSN_READ for non-zero channel
        staging: comedi: vmk80xx: remove "firmware version" kernel messages
        staging: comedi: comedi_isadma: fix "stalled" detect in comedi_isadma_disable_on_sample()
        iio: ak8975: fix AK09911 dependencies
        iio: common: ssp_sensors: Protect PM-only functions to kill warning
        IIO: si7020: Allocate correct amount of memory in devm_iio_device_alloc
        Revert "iio:humidity:si7020: fix pointer to i2c client"
        iio: light: gp2ap020a00f: Select REGMAP_I2C
        iio: light: jsa1212: Select REGMAP_I2C
        iio: ad5686: fix optional reference voltage declaration
        iio:adc:mcp3422 Fix incorrect scales table
        iio: mxs-lradc: fix iio channel map regression
        iio: imu: adis16400: Fix sign extension
        staging: iio: ad2s1200: Fix sign extension
        iio: mxs-lradc: only update the buffer when its conversions have finished
        iio: mxs-lradc: make ADC reads not unschedule touchscreen conversions
        iio: mxs-lradc: make ADC reads not disable touchscreen interrupts
        iio: mxs-lradc: separate touchscreen and buffer virtual channels
        iio: imu: inv_mpu6050: Prevent dereferencing NULL
        iio: iadc: wait_for_completion_timeout time in jiffies
        ...
      47df986b
    • Linus Torvalds's avatar
      Merge tag 'char-misc-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 29191c7f
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are two char/misc fixes for 4.0-rc3.
      
        One is a reported binder driver fix needed due to a change in the mm
        core that happened in 4.0-rc1.  Another is a mei driver fix that
        resolves a reported issue in that driver.
      
        Both have been in linux-next for a while"
      
      * tag 'char-misc-4.0-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        mei: make device disabled on stop unconditionally
        android: binder: fix binder mmap failures
      29191c7f
    • Linus Torvalds's avatar
      Merge tag 'cc-4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · b0bc6572
      Linus Torvalds authored
      Pull "code of conflict" from Greg KH:
       "This file tries to set the rational basis for our code reviews, gives
        some advice on how to conduct them, and provides an excalation channel
        for any kernel developers if they so desire it"
      
      [ Let's see how this works ]
      
      * tag 'cc-4.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        Code of Conflict
      b0bc6572
  10. 07 Mar, 2015 4 commits