1. 11 Sep, 2014 8 commits
  2. 10 Sep, 2014 2 commits
    • Joe Lawrence's avatar
      usb: hub: take hub->hdev reference when processing from eventlist · c605f3cd
      Joe Lawrence authored
      During surprise device hotplug removal tests, it was observed that
      hub_events may try to call usb_lock_device on a device that has already
      been freed. Protect the usb_device by taking out a reference (under the
      hub_event_lock) when hub_events pulls it off the list, returning the
      reference after hub_events is finished using it.
      Signed-off-by: default avatarJoe Lawrence <joe.lawrence@stratus.com>
      Suggested-by: David Bulkow <david.bulkow@stratus.com> for using kref
      Suggested-by: Alan Stern <stern@rowland.harvard.edu> for placement
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c605f3cd
    • Hans de Goede's avatar
      uas: Disable uas on ASM1051 devices · a9c54caa
      Hans de Goede authored
      There are a large numbers of issues with ASM1051 devices in uas mode:
      
      1) They do not support REPORT SUPPORTED OPERATION CODES
      
      2) They use out of spec 8 byte status iu-s when they have no sense data,
         switching to normal 16 byte status iu-s when they do have sense data.
      
      3) They hang / crash when combined with some disks, e.g. a Crucial M500 ssd.
      
      4) They hang / crash when stressed (through e.g. sg_reset --bus) with disks
         with which then normally do work (once 1 & 2 are worked around).
      
      Where as in BOT mode they appear to work fine, so the best way forward with
      these devices is to just blacklist them for uas usage.
      
      Unfortunately this is easier said then done. as older versions of the ASM1053
      (which works fine) use the same usb-id as the ASM1051.
      
      When connected over USB-3 the 2 can be told apart by the number of streams
      they support. So this patch adds some less then pretty code to disable uas for
      the ASM1051. When connected over USB-2, simply disable uas alltogether for
      devices with the shared usb-id.
      
      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>
      a9c54caa
  3. 09 Sep, 2014 6 commits
  4. 08 Sep, 2014 4 commits
  5. 05 Sep, 2014 1 commit
    • Felipe Balbi's avatar
      usb: dwc3: fix TRB completion when multiple TRBs are started · 0b93a4c8
      Felipe Balbi authored
      After commit 2ec2a8be (usb: dwc3: gadget:
      always enable IOC on bulk/interrupt transfers)
      we created a situation where it was possible to
      hang a bulk/interrupt endpoint if we had more
      than one pending request in our queue and they
      were both started with a single Start Transfer
      command.
      
      The problems triggers because we had not enabled
      Transfer In Progress event for those endpoints
      and we were not able to process early giveback
      of requests completed without LST bit set.
      
      Fix the problem by finally enabling Xfer In Progress
      event for all endpoint types, except control.
      
      Fixes: 2ec2a8be (usb: dwc3: gadget: always
      	enable IOC on bulk/interrupt transfers)
      Cc: <stable@vger.kernel.org> # v3.14+
      Reported-by: default avatarPratyush Anand <pratyush.anand@st.com>
      Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
      0b93a4c8
  6. 04 Sep, 2014 2 commits
  7. 03 Sep, 2014 17 commits