1. 26 Jun, 2006 4 commits
  2. 21 Jun, 2006 3 commits
  3. 09 May, 2006 1 commit
    • Pete Zaitcev's avatar
      [PATCH] USB: ub oops in block_uevent · 77ef6c4d
      Pete Zaitcev authored
      In kernel 2.6.16, if a mounted storage device is removed, an oops happens
      because ub supplies an interface device (and kobject) to the block layer,
      but neglects to pin it. And apparently, the block layer expects its users
      to pin device structures.
      The code in ub was broken this way for years. But the bug was exposed only
      by 2.6.16 when it started to call block_uevent on close, which traverses
      device structures (kobjects actually).
      Signed-off-by: default avatarPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
  4. 20 Mar, 2006 4 commits
  5. 31 Jan, 2006 3 commits
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 05 Bulk reset · 2c2e4a2e
      Pete Zaitcev authored
      For crying out loud, they have devices which do not like port resets.
      So, do what usb-storage does and try both bulk and port resets.
      We start with a port reset (which usb-storage does at the end of transport),
      then do a Bulk reset, then a port reset again. This seems to work for me.
      The code is getting dirtier and dirtier here, but I swear that I'll
      do something about it (see those two new XXX). Honest.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 04 Loss of timer and a hang · b31f821c
      Pete Zaitcev authored
      If SCSI commands are submitted while other commands are still processed,
      the dispatch loop turns, and we stop the work_timer. Then, if URB fails
      to complete, ub hangs until the device is unplugged.
      This does not happen often, becase we only allow one SCSI command per
      block device, but does happen (on multi-LUN devices, for example).
      The fix is to stop timer only when we actually going to change the state.
      The nicest code would be to have the timer stopped in URB callback, but
      this is impossible, because it can be called from inside a timer, through
      the urb_unlink. Then we get BUG in timer.c:cascade(). So, we do it a
      little dirtier.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 03 Oops with CFQ · 65b4fe55
      Pete Zaitcev authored
      The blk_cleanup_queue does not necesserily destroy the queue. When we
      destroy the corresponding ub_dev, it may leave the queue spinlock pointer
      This patch moves spinlocks from ub_dev to static memory. The locking
      scheme is not changed. These spinlocks are still separate from the ub_lock.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@redhat.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
  6. 06 Jan, 2006 1 commit
    • Tejun Heo's avatar
      [BLOCK] add @uptodate to end_that_request_last() and @error to rq_end_io_fn() · 8ffdc655
      Tejun Heo authored
      add @uptodate argument to end_that_request_last() and @error
      to rq_end_io_fn().  there's no generic way to pass error code
      to request completion function, making generic error handling
      of non-fs request difficult (rq->errors is driver-specific and
      each driver uses it differently).  this patch adds @uptodate
      to end_that_request_last() and @error to rq_end_io_fn().
      for fs requests, this doesn't really matter, so just using the
      same uptodate argument used in the last call to
      end_that_request_first() should suffice.  imho, this can also
      help the generic command-carrying request jens is working on.
      Signed-off-by: default avatartejun heo <htejun@gmail.com>
      Signed-Off-By: default avatarJens Axboe <axboe@suse.de>
  7. 04 Jan, 2006 5 commits
  8. 28 Oct, 2005 1 commit
  9. 22 Sep, 2005 2 commits
  10. 08 Sep, 2005 5 commits
    • Alan Stern's avatar
      [PATCH] USB: URB_ASYNC_UNLINK flag removed from the kernel · b375a049
      Alan Stern authored
      29 July 2005, Cambridge, MA:
      This afternoon Alan Stern submitted a patch to remove the URB_ASYNC_UNLINK
      flag from the Linux kernel.  Mr. Stern explained, "This flag is a relic
      from an earlier, less-well-designed system.  For over a year it hasn't
      been used for anything other than printing warning messages."
      An anonymous spokesman for the Linux kernel development community
      commented, "This is exactly the sort of thing we see happening all the
      time.  As the kernel evolves, support for old techniques and old code can
      be jettisoned and replaced by newer, better approaches.  Proprietary
      operating systems do not have the freedom or flexibility to change so
      Mr. Stern, a staff member at Harvard University's Rowland Institute who
      works on Linux only as a hobby, noted that the patch (labelled as548) did
      not update two files, keyspan.c and option.c, in the USB drivers' "serial"
      subdirectory.  "Those files need more extensive changes," he remarked.
      "They examine the status field of several URBs at times when they're not
      supposed to.  That will need to be fixed before the URB_ASYNC_UNLINK flag
      is removed."
      Greg Kroah-Hartman, the kernel maintainer responsible for overseeing all
      of Linux's USB drivers, did not respond to our inquiries or return our
      calls.  His only comment was "Applied, thanks."
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 4: Zaitcev's quasi-S/G · a1cf96ef
      Pete Zaitcev authored
      Back out Axboe-style quasi-S/G and replace it with one command and
      repeated URBs. This is similar to what usb-storage does, only instead
      of a few URBs allocated together, one URB is reused.
      Jens's idea was very nice, but it collapsed when I had to support
      packet commads for CD burning. I cannot issue two or more packet
      commands where application expected only one.
      However, burning does not work completely yet. The cdrecord starts,
      recognizes the device, then aborts without writing a TOC.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@yahoo.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 3/3: death to ub_bd_rq_fn_1 · 6c1eb8c1
      Pete Zaitcev authored
      When Al Viro saw the ub.c, he observed that it was a proof positive of
      Linus not reading patches anymore: names like fo_ob_ar_ba_2 used to
      cause serious fireworks. In my defence, any good scheme can be pushed
      to the realm of absurd if pushed far enough.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@yahoo.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 2/3: Fold one line · 07d4fd25
      Pete Zaitcev authored
      Evidently, Yani Ioannou's display is wider than mine.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@yahoo.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    • Pete Zaitcev's avatar
      [PATCH] USB: ub 1/3: Axboe's quasi-S/G · ba6abf13
      Pete Zaitcev authored
      This the quasi-S/G patch for ub as suggested by Jens Axboe at OLS and
      implemented that night before 4 a.m. Surprisingly, it worked right away...
      Alas, I had to skip some OLS partying, but it was for the good cause.
      Now the speed of ub is quite acceptable even on partitions with small
      block size.
      The ub does not really support S/G. Instead, it just tells the block
      layer that it does. Then, most of the time, the block layer merges
      requests and passes single-segmnent requests down to ub; everything
      works as before. Very rarely ub gets an unmerged S/G request. In such
      case, it issues several commands to the device.
      I added a small array of counters to monitor the merging (sg_stat).
      This may be dropped later.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@yahoo.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
  11. 27 Jul, 2005 1 commit
    • Pete Zaitcev's avatar
      [PATCH] ub: fix for blank CDs · 1872bceb
      Pete Zaitcev authored
      This patch fixes a microcode lockup in my CD-ROM adapters when a blank CD
      is inserted.  However, do not try to burn CDs yet!  I'm pretty sure that
      trying it will end in coasters.
       - Fix a few cases where we were unable to resynchronize with replies
         for previous commands. The main thing is to keep reading replies
         in case of a stall. This is done with the new state CLRRS.
       - Since I am forgetting the basic state machine already, document it.
       - Move counter increments in the looping path in its own function.
       - Fix a harmless buglet in case CSW read fails to submit: do not
         override state.
       - Implement the Alan Stern's idea for adaptive signature checking.
      Signed-off-by: default avatarPete Zaitcev <zaitcev@yahoo.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
  12. 20 Jun, 2005 1 commit
  13. 09 Jun, 2005 1 commit
  14. 03 Jun, 2005 1 commit
  15. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      Let it rip!