1. 24 9月, 2008 5 次提交
  2. 14 8月, 2008 6 次提交
    • A
      usb-storage: unusual_devs entry for Nokia 5300 · d28525f8
      Alan Stern 提交于
      This patch (as1120) adds an unusual_devs entry for the Nokia 5300.
      Maybe once Nokia releases the Symbian code we'll be able to fix all
      the problems it has with the USB mass-storage protocol.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Tested-by: NCedric Godin <cedric@belbone.be>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      d28525f8
    • J
      USB: usb-storage Motorola Phone Razr v3xx US_FL_FIX_CAPACITY patch · 51cdc1c1
      Jost Diederichs 提交于
      add razr v3xx US_FL_FIX_CAPACITY flag to unusual_devs.h in usb-storage
      
      This is another Motorola phone that incorrectly reports the sector count
      (off by one).
      
      Problem Description: io errors when mounting phone's sd-card via the
      phones usb port
      
      Steps to reproduce: mount Motorola Razr v3xx phones sd-card on Linux Desktop
      via usb cable. Phones USB port must be in memory card mode.
      
      DEBUG output:
      Jul 9 19:32:41 micky kernel: Buffer I/O error on device sdd, logical block 3970048
      Jul 9 19:32:41 micky kernel: sd 11:0:0:0: [sdd] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE,SUGGEST_OK
      Jul 9 19:32:41 micky kernel: sd 11:0:0:0: [sdd] Sense Key : Medium Error [current]
      Jul 9 19:32:41 micky kernel: sd 11:0:0:0: [sdd] Add. Sense: No additional sense information
      Jul 9 19:32:41 micky kernel: end_request: I/O error, dev sdd, sector 3970048
      
      
      From: Jost Diederichs <jost@qdusa.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      51cdc1c1
    • K
      USB Storage Sierra: TRU-Install feature update · 32fe5e39
      Kevin Lloyd 提交于
      This patch upgrades the support for the Sierra Wireless TRU-Install
      feature (i.e. zeroCD) to allow for future support of Linux enabled
      TRU-Install devices.
      
      By default all devices that do not have a Linux enabled TRU-Install
      device (i.e. the device does not have a Linux package on the virtual CD
      partition) will be switched into "modem mode." Devices that do contain a
      Linux package in the TRU-Install virtual CD will be allowed to enumerate
      as a CD-Rom so that either (a) a user can install the packaged software
      or (b) a user-space application (e.g. udev) can switch it to modem mode.
      
      This patch does allow for manual override by adding a usb-storage module
      parameter 'swi_tru_install' which can force the modem into either mode
      regardless of what packages it contains.
      Signed-off-by: NKevin Lloyd <klloyd@sierrawireless.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      32fe5e39
    • A
      usb-storage: unusual_devs entries for iRiver T10 and Datafab CF+SM reader · 368ee646
      Alan Stern 提交于
      This patch (as1115) adds unusual_devs entries with the IGNORE_RESIDE
      flag for the iRiver T10 and the Simple Tech/Datafab CF+SM card
      reader.  Apparently these devices provide reasonable residue values
      for READ and WRITE operations, but not for others like INQUIRY or READ
      CAPACITY.
      
      This fixes the iRiver T10 problem reported in Bugzilla #11125.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      368ee646
    • A
      usb-storage: automatically recognize bad residues · 59f4ff2e
      Alan Stern 提交于
      This patch (as1119) will help to reduce the clutter of usb-storage's
      unusual_devs file by automatically detecting some devices that need
      the IGNORE_RESIDUE flag.  The idea is that devices should never return
      a non-zero residue for an INQUIRY or a READ CAPACITY command unless
      they failed to transfer all the requested data.  So if one of these
      commands transfers a standard amount of data but there is a positive
      residue, we know that the residue is bogus and we can set the flag.
      
      This fixes the problems reported in Bugzilla #11125.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      59f4ff2e
    • D
      USB: usb-storage: quirk around v1.11 firmware on Nikon D4 · b9a097f2
      Dave Jones 提交于
      usb-storage: quirk around v1.11 firmware on Nikon D40
      
      https://bugzilla.redhat.com/show_bug.cgi?id=454028
      Just as in earlier firmware versions, we need to perform this
      quirk for the latest version too.
      
      Speculatively do the entry for the D80 too, as they seem to
      have the same firmware problems historically.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      b9a097f2
  3. 06 8月, 2008 1 次提交
  4. 22 7月, 2008 8 次提交
    • A
      usb-storage: revert DMA-alignment change for Wireless USB · f756cbd4
      Alan Stern 提交于
      This patch (as1110) reverts an earlier patch meant to help with
      Wireless USB host controllers.  These controllers can have bulk
      maxpacket values larger than 512, which puts unusual constraints on
      the sizes of scatter-gather list elements.  However it turns out that
      the block layer does not provide the support we need to enforce these
      constraints; merely changing the DMA alignment mask doesn't help.
      Hence there's no reason to keep the original patch.  The Wireless USB
      problem will have to be solved a different way.
      
      In addition, there is a reason to get rid of the earlier patch.  By
      dereferencing a pointer stored in the ep_in array of struct
      usb_device, the current code risks an invalid memory access when it
      runs concurrently with device removal.  The members of that array are
      cleared before the driver's disconnect method is called, so it should
      not try to use them.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      f756cbd4
    • M
      USB: fix usb_reset_device and usb_reset_composite_device(take 3) · 742120c6
      Ming Lei 提交于
      This patch renames the existing usb_reset_device in hub.c to
      usb_reset_and_verify_device and renames the existing
      usb_reset_composite_device to usb_reset_device. Also the new
      usb_reset_and_verify_device does't need to be EXPORTED .
      
      The idea of the patch is that external interface driver
      should warn the other interfaces' driver of the same
      device before and after reseting the usb device. One interface
      driver shoud call _old_ usb_reset_composite_device instead of
      _old_ usb_reset_device since it can't assume the device contains
      only one interface. The _old_ usb_reset_composite_device
      is safe for single interface device also. we rename the two
      functions to make the change easily.
      
      This patch is under guideline from Alan Stern.
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      742120c6
    • M
      USB: remove interface parameter of usb_reset_composite_device · 625f6949
      Ming Lei 提交于
      From the current implementation of usb_reset_composite_device
      function, the iface parameter is no longer useful. This function
      doesn't do something special for the iface usb_interface,compared
      with other interfaces in the usb_device. So remove the parameter
      and fix the related caller.
      Signed-off-by: NMing Lei <tom.leiming@gmail.com>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      625f6949
    • A
      USB: remove CVS keywords · ea05af61
      Adrian Bunk 提交于
      This patch removes CVS keywords that weren't updated for a long time
      from comments.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ea05af61
    • A
      usb-storage: implement "soft" unbinding · 543f7810
      Alan Stern 提交于
      This patch (as1092) implements "soft" unbinding for usb-storage.  When
      the disconnect routine is called, all commands and reset delays are
      allowed to complete normally until after scsi_remove_host() returns.
      This means that the commands needed for an orderly shutdown will be
      sent through to the device.
      
      Unlike before, the driver will now execute every command that it
      accepts.  Hence there's no need for special code to catch unexecuted
      commands and fail them.
      
      The new sequence of events when disconnect runs goes as follows:
      
      	If the device is truly unplugged, set the DISCONNECTING
      	flag so we won't try to access it any more.
      
      	If the SCSI-scanning thread hasn't started up yet, prevent
      	it from doing anything by setting the new DONT_SCAN flag.
      	Then wake it up and wait for it to terminate.
      
      	Remove the SCSI host.  This unbinds the upper-level drivers,
      	doing an orderly shutdown.  Commands sent to quiesce the
      	device will be transmitted normally, unless the device is
      	unplugged.
      
      	Set the DISCONNECTING flag so that we won't accept any new
      	commands that might get submitted (there aren't supposed to be
      	any) and we won't try to access the device for resets.
      
      	Tell the control thread to exit by waking it up with no
      	pending command, and wait for it to terminate.
      
      	Go on to do all the other normal stuff: releasing resources,
      	freeing memory, and so on.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      543f7810
    • A
      usb-storage: change remaining semaphore to completion · 7119e3c3
      Alan Stern 提交于
      This patch (as1090) converts the one remaining semaphore in
      usb-storage into a completion.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7119e3c3
    • A
      usb-storage: separate dynamic flags from fixed flags · 7e4d6c38
      Alan Stern 提交于
      This patch (as1089) separates out the dynamic atomic bitflags and the
      static bitfields in usb-storage.  Until now the two sorts of flags
      have been sharing the same word; this has always been awkward.
      
      To help prevent possible confusion, the two new fields each have a
      different name from the original.  us->fflags contains the fixed
      bitfields (mostly taken from the USB ID table in unusual_devs.h), and
      us->dflags contains the dynamic atomic bitflags (used with set_bit,
      test_bit, and so on).
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7e4d6c38
    • A
  5. 04 7月, 2008 1 次提交
  6. 30 5月, 2008 3 次提交
  7. 15 5月, 2008 3 次提交
    • F
      USB: unusual_devs: Add support for GI 0401 SD-Card interface · e7c6f80f
      Filip Aben 提交于
      Enables the SD-Card interface on the GI 0401 HSUPA card from Option.
      
      The unusual_devs.h entry is necessary because the device descriptor is
      vendor-specific. That prevents usb-storage from binding to it as an
      interface driver.
      
      This revised patch adds a small comment explaining why and reduces the
      rev range.
      
      T:  Bus=02 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
      D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
      P:  Vendor=0af0 ProdID=7401 Rev= 0.00
      S:  Manufacturer=Option N.V.
      S:  Product=Globetrotter HSUPA Modem
      C:* #Ifs=10 Cfg#= 1 Atr=80 MxPwr=500mA
      I:* If#= 0 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 0 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 1 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 2 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 2 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 3 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 3 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 4 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 4 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 5 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 5 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 6 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 6 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 7 Alt= 0 #EPs= 0 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      I:  If#= 7 Alt= 1 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
      E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
      E:  Ad=8a(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
      I:* If#= 9 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      E:  Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
      Signed-off-by: NFilip Aben <f.aben@option.com>
      Signed-off-by: NPhil Dibowitz <phil@ipom.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      e7c6f80f
    • P
      USB: Fix unusual_devs.h ordering · ed3e8fca
      Phil Dibowitz 提交于
      This patch fixes ordering problems with entries in unusual_devs.h.
      Signed-off-by: NPhil Dibowitz <phil@ipom.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      ed3e8fca
    • A
      USB: Support for the ET502HS HDSPA modem · dddcb8b7
      andreoli@samba.ing.unimo.it 提交于
      The attached patch allows to bypass the ZeroCD mechanism for the ET502HS
      HDSPA modem, so that it can be mounted as a network device.
      Signed-off-by: NMauro Andreolini <andreoli@weblab.ing.unimo.it>
      Acked-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      dddcb8b7
  8. 03 5月, 2008 7 次提交
  9. 02 5月, 2008 1 次提交
    • B
      [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer · 64a87b24
      Boaz Harrosh 提交于
       - struct scsi_cmnd had a 16 bytes command buffer of its own.
         This is an unnecessary duplication and copy of request's
         cmd. It is probably left overs from the time that scsi_cmnd
         could function without a request attached. So clean that up.
      
       - Once above is done, few places, apart from scsi-ml, needed
         adjustments due to changing the data type of scsi_cmnd->cmnd.
      
       - Lots of drivers still use MAX_COMMAND_SIZE. So I have left
         that #define but equate it to BLK_MAX_CDB. The way I see it
         and is reflected in the patch below is.
         MAX_COMMAND_SIZE - means: The longest fixed-length (*) SCSI CDB
                            as per the SCSI standard and is not related
                            to the implementation.
         BLK_MAX_CDB.     - The allocated space at the request level
      
       - I have audit all ISA drivers and made sure none use ->cmnd in a DMA
         Operation. Same audit was done by Andi Kleen.
      
      (*)fixed-length here means commands that their size can be determined
         by their opcode and the CDB does not carry a length specifier, (unlike
         the VARIABLE_LENGTH_CMD(0x7f) command). This is actually not exactly
         true and the SCSI standard also defines extended commands and
         vendor specific commands that can be bigger than 16 bytes. The kernel
         will support these using the same infrastructure used for VARLEN CDB's.
         So in effect MAX_COMMAND_SIZE means the maximum size command
         scsi-ml supports without specifying a cmd_len by ULD's
      Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@HansenPartnership.com>
      64a87b24
  10. 25 4月, 2008 5 次提交