1. 28 4月, 2015 1 次提交
  2. 19 3月, 2015 3 次提交
  3. 18 3月, 2015 1 次提交
  4. 07 3月, 2015 1 次提交
  5. 25 2月, 2015 2 次提交
  6. 25 1月, 2015 3 次提交
  7. 10 1月, 2015 5 次提交
  8. 13 12月, 2014 1 次提交
  9. 11 12月, 2014 1 次提交
  10. 25 11月, 2014 2 次提交
    • M
      storage: Fix bus scan and multi-LUN support for SCM eUSCSI devices · 646a3843
      Mark Knibbs 提交于
      This patch does two things for SCM eUSCSI USB-SCSI converters:
      
      1. SCM eUSCSI bridge devices are hard-wired to use SCSI ID 7. On connecting
      the converter, access to that ID is attempted during the bus scan. Asking
      the converter to issue INQUIRY commands to itself isn't very polite and
      wastes time. Set this_id to 7 so __scsi_scan_target() skips it in the scan.
      
      2. Enable multi-LUN support. eUSCSI devices don't support Get Max LUN
      requests, returning an error (-32). [Different targets could have different
      numbers of LUNs, so it wouldn't make sense to return a particular value in
      response to Get Max LUN.]
      
      usb_stor_scan_dwork() does this:
          /* For bulk-only devices, determine the max LUN value */
          if (us->protocol == USB_PR_BULK && !(us->fflags & US_FL_SINGLE_LUN)) {
                  mutex_lock(&us->dev_mutex);
                  us->max_lun = usb_stor_Bulk_max_lun(us);
                  mutex_unlock(&us->dev_mutex);
      
      It avoids calling usb_stor_Bulk_max_lun() if US_FL_SINGLE_LUN, but not for
      US_FL_SCM_MULT_TARG. Since usb_stor_Bulk_max_lun() returns 0 in the error
      case, us->max_lun was always set to 0.
      
      [If the user doesn't want multi-LUN support (perhaps there are SCSI devices
      which respond to commands on all LUNs?), the US_FL_SINGLE_LUN quirk can be
      specified on the kernel command line.]
      Signed-off-by: NMark Knibbs <markk@clara.co.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      646a3843
    • M
      storage: Enable multi-target mode as vendor driver does for SCM eUSCSI bridge · eab77694
      Mark Knibbs 提交于
      usb_stor_euscsi_init() enables multi-target mode for SCM eUSB SCSI bridge
      devices. The control message it sends has wLength = 1 and the byte sent is
      0x01. While that works, the SCM Windows driver does it with wLength = 0. We
      may as well match what the SCM driver does.
      Signed-off-by: NMark Knibbs <markk@clara.co.uk>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      eab77694
  11. 24 11月, 2014 1 次提交
  12. 22 11月, 2014 1 次提交
  13. 12 11月, 2014 5 次提交
  14. 08 11月, 2014 1 次提交
    • M
      USB: storage: Reject bogus max LUN values · 55dc68c0
      Mark Knibbs 提交于
      Some mass storage devices return a bogus value in response to a Get Max LUN
      request. The Iomega Jaz USB Adapter responds with 0x10, hence my recent
      patch to use the US_FL_SINGLE_LUN quirk for it.
      
      The USB MSC Bulk Only Transport document says "The device shall return one
      byte of data that contains the maximum LUN supported by the device."
      
      Since the LUN field in the command block wrapper is only 4 bits wide, it
      might be helpful to report too-large LUN values in the kernel log, and
      assume max LUN is actually 0. That could get some devices which currently
      need the US_FL_SINGLE_LUN quirk to work.
      Signed-off-by: NMark Knibbs <markk@clara.co.uk>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      55dc68c0
  15. 06 11月, 2014 2 次提交
  16. 04 11月, 2014 7 次提交
  17. 04 10月, 2014 1 次提交
  18. 03 10月, 2014 1 次提交
  19. 24 9月, 2014 1 次提交