1. 19 Dec, 2003 1 commit
    • Bill Marr's avatar
      [PATCH] Status Query On My MCT-U232 Patch · 53f87a8f
      Bill Marr authored
      Brief Patch Description:
      
      Fix a problem in the 'mct_u232' driver whereby output data gets held up in the
      USB/RS-232 adapter for RS-232 devices which don't assert the 'CTS' signal.
      
      Background:
      
      The Belkin F5U109 is a 9-pin USB/RS-232 adapter that is supported by the
      existing 'mct_u232' kernel module.  Recently, I've been testing it under the
      2.4.22 (Slackware 9.1) kernel and the 2.6.0-test9 kernel.
      
      I've connected a Garmin 'GPS35 TracPak' GPS receiver (RS-232 interface) and an
      ordinary RS-232 external modem to my PC's USB port via the Belkin F5U109
      adapter.
      
      Problem:
      
      Although _reads_ from either of the RS-232 devices mentioned above work fine
      via the Belkin adapter, _writes_ to the GPS receiver are not being seen by
      the GPS.  Writes to the modem, however, work perfectly.
      
      Aside: The 'Linux USB Users' archives show that at least one other person
      (circa May 2002) had the exact same problem I'm having, but it sounds like no
      solution was ever determined because the person in question just bought a
      different USB/RS-232 adapter.
      
      Investigation:
      
      Using the 'seyon' terminal emulator in Linux and a crude hardware RS-232
      "breakout box" that I hacked together, I've determined that the problem is
      related to the RTS/CTS RS-232 hardware handshaking.
      
      After further investigation, I've concluded that RS-232 devices which do not
      assert the 'Clear To Send' ('CTS') signal prevent the Belkin F5U109 adapter
      from transmitting data to the RS-232 device when the current (version 1.1)
      'mct_u232' module is used. The data gets "queued up" (up to a point -- 16
      bytes, I think) in the adapter but never transmitted.
      
      Since this GPS receiver works perfectly (reads and writes) when connected to a
      PC running W98se using the same Belkin adapter and the Belkin-supplied
      Windows driver, the Linux driver became suspect.
      
      After some testing with SniffUSB, I found that the Windows driver sends a
      couple of unique undocumented USB 'device requests' that the Linux driver
      does not. As it turns out, the second of those 2 requests is critical in
      making the adapter transmit data to a device which doesn't assert 'CTS'.
      
      For completeness, the Windows driver in use was determined from the 'Device
      Manager', 'Driver File Details' page:
      
         U2SPORT.VXD
         Provider: Magic Control Technology
         File version: 1.21P.0104 for Win98/Me
      
      Solution:
      
      My patch adds the 2 missing USB 'device request' commands right after a
      baud-change command. This mimics the operation of the W98 driver.
      
      Unfortunately, after much testing, I found no other operation (besides a
      baud-change request) under Windows that triggers either of these 2 'device
      request' commands. This makes it impossible to fully document the behavior of
      these requests, but I've made entries for them alongside the others in the
      'mct_u232.h' file.
      
      Purely for clarity, the patch also modifies various comments in 'mct_u232.h',
      mostly to reflect proper sizes of the various 'USB Device Request' fields per
      the USB 1.1 specification.
      
      The patch also updates the version number of the driver, corrects a minor
      typographical error, and documents a difference in the length of the data in
      a 'baud rate change' command for certain adapters which use a coded baud-rate
      rather than the conventional RS-232 baud rate divisor.
      
      I've provided (tested) patches for both the 2.4.22 and the 2.6.0-test9
      kernels.
      
      Please note that the changes to 'mct_u232.h' apply to both 2.4.22 and
      2.6.0-test9 since that file has not changed between those kernel releases.
      Nevertheless, I've included that (same) portion of the patch in both
      attachments for simplicity.
      
      Bill Marr
      53f87a8f
  2. 16 Dec, 2003 1 commit
  3. 15 Dec, 2003 3 commits
    • Linus Torvalds's avatar
      Merge bk://linuxusb.bkbits.net/gregkh-2.6 · 3f69168f
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      3f69168f
    • Neil Brown's avatar
      [PATCH] Fix possible bio corruption with RAID5 · e1f936a9
      Neil Brown authored
       1/ make sure raid5 doesn't try to handle multiple overlaping
          requests at the same time as this would confuse things badly.
          Currently it justs BUGs if this is attempted.
       2/ Fix a possible data-loss-on-write problem.  If two or
          more bio's that write to the same page are processed at the
          same time, only the first was actually commited to storage.
       3/ Fix a use-after-free bug.  raid5 keeps the bio's it is given
          in linked lists when more than one bio touch a single page.
          In some cases the tail of this list can be freed, and
          the current test for 'are we at the end' isn't reliable.
          This patch strengths the test to make it reliable.
      e1f936a9
    • David Brownell's avatar
      [PATCH] USB: <linux/usb_ch9.h> new descriptor codes, types · 9616878a
      David Brownell authored
      This patch adds definitions:
      
        - New "video" class, for video cameras and more complicated devices;
      
        - New "Interface association" descriptor type, used by video class,
          along with two other assigned desciptor type codes (OTG, "debug")
          listed in the same ECN to the USB 2.0 spec;
      
        - Type declarations for "Interface association" and OTG descriptors.
      
      It also replaces three copies of USB_DT_CS_* declarations in audio
      support with one in <linux/usb_ch9.h>, and uses the newly exposed
      symbol in "usbnet".  (Near as I can tell, the convention for those
      "class specific" descriptor types started with audio, and was then
      adopted by several other class specifications.)
      9616878a
  4. 14 Dec, 2003 1 commit
    • Linus Torvalds's avatar
      Fix thread group leader zombie leak · 056ffaad
      Linus Torvalds authored
      Petr Vandrovec noticed a problem where the thread group leader
      would not be properly reaped if the parent of the thread group
      was ignoring SIGCHLD, and the thread group leader had exited
      before the last sub-thread.
      
      Fixed by Ingo Molnar.
      056ffaad
  5. 13 Dec, 2003 3 commits
    • Linus Torvalds's avatar
      More subtle SMP bugs in prepare_to_wait()/finish_wait(). · e220fdf7
      Linus Torvalds authored
      This time we have a SMP memory ordering issue in prepare_to_wait(),
      where we really need to make sure that subsequent tests for the
      event we are waiting for can not migrate up to before the wait
      queue has been set up.
      e220fdf7
    • René Scharfe's avatar
      [PATCH] HPFS: missing lock_kernel() in hpfs_readdir() · 14c5d2d2
      René Scharfe authored
      In 2.5.x, the BKL was pushed from vfs_readdir() into the filesystem
      specific functions.  But only the unlock_kernel() made it into the HPFS
      code, lock_kernel() got lost on the way.  This rendered the filesystem
      unusable.
      
      This adds the missing lock_kernel().  It's been tested by Timo Maier who
      also reported the problem earlier today.
      14c5d2d2
    • Jens Axboe's avatar
      [PATCH] no bio unmap on cdb copy failure · 5965168e
      Jens Axboe authored
      The previous scsi_ioctl.c patch didn't cleanup the buffer/bio in the
      error case. 
      
      Fix it by copying the command data earlier.
      5965168e
  6. 12 Dec, 2003 12 commits
    • Greg Kroah-Hartman's avatar
      Merge kroah.com:/home/greg/linux/BK/bleed-2.5 · 7885c113
      Greg Kroah-Hartman authored
      into kroah.com:/home/greg/linux/BK/usb-new_drivers-2.6
      7885c113
    • David Brownell's avatar
      [PATCH] USB: usb driver binding fixes · 070c4e6f
      David Brownell authored
      There are problems lurking in the driver binding code for usb,
      with highlights being disagreements about:
      
          (a) locks: usb bus writelock v. BKL v. driver->serialize
          (b) driver: interface.driver v. interface.dev.driver
      
      Fixing those is going to take multiple patches, and I thought
      I'd start out with a small one that's relatively simple.  This:
      
          - Cleans up locking.
      
              * Updates comments and kerneldoc to reflect that the
                usb bus writelock is what protects against conflicts
                when binding/unbinding drivers to devices.
      
              * Removes driver->serialize ... not needed, since
                it's only gotten when the bus writelock is held.
      
              * Removes incorrect "must have BKL" comments, and one
                bit of code that tried to use BKL not the writelock.
      
          - Removes inconsistencies about what driver is bound to the
            interface ... for now "interface.driver" is "the truth".
      
              * usb_probe_interface() will no longer clobber bindings
                established with usb_driver_claim_interface().
      
              * usb_driver_release_interface() calls device_release_driver()
                for bindings established with probe(), so the driver model
                updates (sysfs etc) are done as expected.
      
              * usb_unbind_interface() doesn't usb_driver_release_interface(),
                since release() should eventually _always_ call unbind()
                (indirectly through device_release_driver).
      
      Essentially there are two driver binding models in USB today,
      and this patch makes them start to cooperate properly:
      
         - probe()/disconnect(), used by most drivers.  This goes
           through the driver model core.
      
         - claim()/release(), used by CDC drivers (ACM, Ethernet)
           and audio to claim extra interfaces and by usbfs since it
           can't come in through probe().  Bypasses driver model.
      
      That interface.driver pointer can be removed by changing the
      claim()/release() code to use the driver model calls added
      for that purpose:  device_{bind,release}_driver().  I didn't
      do that in this patch, since it'll have side effects like
      extra disconnect() calls that drivers will need to handle.
      
      A separate usbfs patch is needed to fix its driver binding;
      mostly just to use the right lock, but those changes were
      more extensive and uncovered other issues.  (Like, I think,
      some that Duncan has been noticing ...)
      070c4e6f
    • Petko Manolov's avatar
      [PATCH] USB: pegasus driver update · 7c374cf1
      Petko Manolov authored
        another vendor/deviceID added;
        HAS_HOME_PNA flag for ADM8511 devices - that should
        make HomePNA users happy;
      7c374cf1
    • David T. Hollis's avatar
      [PATCH] USB: Mark AX8817x usbnet driver as non-experimental · dc01021f
      David T. Hollis authored
      Trivial patch to remove the Experimental mark on the AX8817x driver
      portion of usbnet.  The driver seems to have made the rounds enough and
      is working quite well.
      dc01021f
    • Linus Torvalds's avatar
      Fix subtle bug in "finish_wait()", which can cause kernel stack · a2c72fae
      Linus Torvalds authored
      corruption on SMP because of another CPU still accessing a waitqueue
      even after it was de-allocated.
      
      Use a careful version of the list emptiness check to make sure we
      don't de-allocate the stack frame before the waitqueue is all done.
      a2c72fae
    • Nemosoft Unv.'s avatar
      [PATCH] USB: PWC 8.12 driver update · 75ee7f6d
      Nemosoft Unv. authored
      Attached you will find patches that will bring the Philips Webcam driver
      (PWC) up to version 8.12. The most important new feature is support for
      the motorized pan & tilt feature of the new Logitech QuickCam
      Orbit/Sphere, which I don't think is in the stores yet (at least it's
      not on Logitech's website), but should be there soon. In addition, the
      documentation in the kernel about the cams is updated.
      75ee7f6d
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: add support for Sony UX50 device to visor driver · 81c36114
      Greg Kroah-Hartman authored
      Thanks to Ralf Dietrich <ralle@envicon.de> for the information.
      81c36114
    • Alan Stern's avatar
      [PATCH] USB: Allow configuration #0 · 09776353
      Alan Stern authored
      This patch helped Jon Wilson.  It allows devices to have a configuration
      numbered 0, in spite of the standard convention that config #0 really
      means unconfigured.
      09776353
    • Thomas Chen's avatar
    • Thomas Chen's avatar
      dca5d14a
    • Greg Kroah-Hartman's avatar
      [PATCH] USB: add support for another pl2303 device · ab2fc239
      Greg Kroah-Hartman authored
      Info came from John Zhuge <john.zhuge@troposnetworks.com>
      ab2fc239
    • Matthew Dharm's avatar
      [PATCH] USB: don't send any MODE SENSE commands to usb mass storage devices · 6a9f4367
      Matthew Dharm authored
      This patch basically eliminates the use of MODE_SENSE or MODE_SENSE_10 for
      direct-access USB storage devices.  That $&%*! command has caused us more
      trouble than all the others combined, and after more than a year we still
      don't have a good way of handling/using them.
      
      I constantly get complaints about devices which don't work because of the
      way 2.5/6 uses MODE_SENSE and MODE_SENSE_10 -- this patch will greatly
      increase compatiblity with devices.  As with the patch to limit transfer
      sizes, I'd like to see this applied as soon as possible.
      
      Matt
      
      > ----- Forwarded message from Patrick Mansfield <patmans@us.ibm.com> -----
      >
      > Date: Thu, 20 Nov 2003 08:28:27 -0800
      > From: Patrick Mansfield <patmans@us.ibm.com>
      > Subject: [PATCH] don't send any MODE SENSE commands to usb mass storage devices
      > To: mdharm-scsi@one-eyed-alien.net
      
      Matthew -
      
      Is this patch in your queue? I don't see it in Linus' tree yet.
      
      Don't send any MODE SENSE commands to usb mass storage devices.
      6a9f4367
  7. 11 Dec, 2003 12 commits
    • Alan Stern's avatar
      [PATCH] USB storage: Unusual_devs.h addition · ee7895f3
      Alan Stern authored
      This patch adds to unusual_devs.h an entry reported by Andries Brouwer and
      it moves another entry to the correct position in the numerical ordering.
      ee7895f3
    • Davide Andrian's avatar
      [PATCH] USB storage: Medion 6047 Digital Camera · e0747c61
      Davide Andrian authored
      ...a patch for the "Medion 6047 Digital Camera"
      
      
      
      *** a/drivers/usb/storage/unusual_devs.h	Sun Nov 23 22:31:51 2003
      e0747c61
    • Martin Berentsen's avatar
      [PATCH] USB storage: Minolta Dimage S414 usb patch · 76f63a39
      Martin Berentsen authored
      here I submitt you the vendor/id patch for the
      Minolta Dimage S414 Camera,
      which runs fine with the usb under linux.
      
      cat /proc/bus/usb/device ->
      76f63a39
    • Alan Stern's avatar
      [PATCH] USB storage: Another unusual_devs.h update · 409f256e
      Alan Stern authored
      On Thu, 20 Nov 2003, Stefan J. Betz wrote:
      
      > Hello People,
      >
      > i have some Mitsumi USB Floppy Drive with the following Data:
      > Manufactur: Mitsumi
      > Typ       : D353FUE
      >
      > When i plug this Device into my Linux Box (Kernel 2.6.0-test9), i get
      > the following messages in my Syslog:
      >
      > Nov 20 22:17:57 mobileone kernel: hub 1-0:1.0: new USB device on port 1, assigned address 2
      > Nov 20 22:17:57 mobileone kernel: usb-storage: This device (03ee,6901,0100 S 04 P 00) has unneeded SubClass and Protocol entries in unusual_devs.h
      > Nov 20 22:17:57 mobileone kernel:    Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>
      > Nov 20 22:17:57 mobileone kernel: scsi2 : SCSI emulation for USB Mass Storage devices
      > Nov 20 22:17:57 mobileone kernel:   Vendor: MITSUMI   Model: USB FDD           Rev: 1039
      > Nov 20 22:17:57 mobileone kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
      > Nov 20 22:17:57 mobileone kernel: Attached scsi generic sg2 at scsi2, channel 0, id 0, lun 0,  type 0
      
      > I that is enough information to Support that drive (or how can i use ist
      > today?)
      >
      > Greeting Betz Stefan
      
      Thank you for sending this in.  The usb-storage driver will be updated
      sometime after 2.6.0-final is released.
      
      Alan Stern
      409f256e
    • Alexander Oltu's avatar
      [PATCH] USB storage: patch for unusual_devs.h · 2f937bad
      Alexander Oltu authored
      I send a patch and copy of /proc/bus/usb/devices for my 5`25 external
      USB enclosure. I don't know exactly manufacturer of this device, but
      model is CD-509.
      It will be nice if it helps somebody else.
      
      
      T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
      B:  Alloc= 93/900 us (10%), #Int=  1, #Iso=  0
      D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
      P:  Vendor=0000 ProdID=0000 Rev= 0.00
      S:  Product=USB UHCI Root Hub
      S:  SerialNumber=14a0
      C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
      I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
      E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
      T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
      D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
      P:  Vendor=045e ProdID=0040 Rev= 3.00
      S:  Manufacturer=Microsoft
      S:  Product=Microsoft 3-Button Mouse with IntelliEye(TM)
      C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbmouse
      E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms
      T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 15 Spd=12  MxCh= 0
      D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
      P:  Vendor=05e3 ProdID=0701 Rev= 0.02
      S:  Product=USB TO IDE
      C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 96mA
      I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      2f937bad
    • Herbert Xu's avatar
      3942c9a1
    • Alan Stern's avatar
      [PATCH] USB storage: unusual_devs.h entry revision · 969cf19d
      Alan Stern authored
      Here is another update for unusual_devs.h in both 2.6 and 2.4.  No
      urgency.
      
      
      On Wed, 12 Nov 2003, Aris Basic wrote:
      
      > Device Sony Memory Stick Reader MSAC-US1
      > usb-storage: This device (054c,002d,0100 S 04 P 01) has unneeded SubClass and Protocol entries in unusual_devs.h
      >    Please send a copy of this message to <linux-usb-devel@lists.sourceforge.net>
      
      Thanks for sending this in.
      969cf19d
    • Martin Pool's avatar
      [PATCH] USB storage: add unusual storage device entry for Minolta DiMAGE · 59c0e851
      Martin Pool authored
      Yes, it seems to work OK on the 7i with this updated patch.  I don't
      have a 7 or 7Hi to try, but everything on the web seems to say the USB
      firmware works the same way.
      59c0e851
    • Stephane Galles's avatar
      [PATCH] USB storage: patch for Kyocera S5 camera · a3f206d0
      Stephane Galles authored
      I've seen some entries in 2.4.22 and 2.6.0 unusual_devs.h
      for Kyocera Finecam S3 et S4 cameras and I own a Finecam S5
      that does not work out of the box either
      (here is the beast : http://www.yashica.com/digital/finecams5/finecams5.html)
      
      so I found the unusual_devs.h entry and submitted it some month
      ago at http://www.qbik.ch/usb/devices/showdev.php?id=1626
      for the 2.4 kernels
      
      I thought It would be nice to have the whole Finecam family
      in Unusual_devs.h for 2.6.0
      
      The patch for the 2.6.0-test9 is attached with this mail
      
      It differs from the entry I submitted at www.qbik.ch
      as I used the new SC/PR_DEVICE flags and got rid of the
      IGNORE_SER flag from 2.4
      
      Do you want a patch for 2.4 too ? If so, I should test my
      old 2.4 entry with the lastest 2.4 Kernels, coz on a daily
      basis I use a 2.4.20, which is rather old. Moreover, I could
      used the SC/PR_DEVICE flags too for 2.4.22 (keeping the IGNORE_SER flag
      though)
      
      
      By the way, several entries with the running patch :
      
      /proc/bus/usb/devices :
      
      T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
      D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
      P:  Vendor=0482 ProdID=0103 Rev= 1.00
      C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
      I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:  If#= 0 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=06 Prot=50 Driver=usb-storage
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
      a3f206d0
    • Fabrizio Fellini's avatar
      cb2d6827
    • Per Winkvist's avatar
      [PATCH] USB storage: Make Pentax Optio S4 work · 24a5b266
      Per Winkvist authored
      The change below is needed to get the S4 camera working.
      Tested with both Optio S/S4
      24a5b266
    • Greg Kroah-Hartman's avatar
  8. 10 Dec, 2003 3 commits
  9. 09 Dec, 2003 4 commits