1. 13 6月, 2006 4 次提交
  2. 06 6月, 2006 1 次提交
  3. 18 5月, 2006 4 次提交
  4. 03 4月, 2006 1 次提交
    • S
      [PATCH] sbp2: fix spinlock recursion · 24c7cd06
      Stefan Richter 提交于
      sbp2util_mark_command_completed takes a lock which was already taken by
      sbp2scsi_complete_all_commands.  This is a regression in Linux 2.6.15.
      
       Reported by Kristian Harms at
      	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187394
      
      [ More complete commentary, as response to questions by Andrew: ]
      
      > This changes the call environment for all implementations of
      > ->Current_done().  Are they all safe to call under this lock?
      
      Short answer: Yes, trust me.  ;-) Long answer:
      
      The done() callbacks are passed on to sbp2 from the SCSI stack along
      with each SCSI command via the queuecommand hook.  The done() callback
      is safe to call in atomic context.  So does
      Documentation/scsi/scsi_mid_low_api.txt say, and many if not all SCSI
      low-level handlers rely on this fact.  So whatever this callback does,
      it is "self-contained" and it won't conflict with sbp2's internal ORB
      list handling.  In particular, it won't race with the
      sbp2_command_orb_lock.
      
      Moreover, sbp2 already calls the done() handler with
      sbp2_command_orb_lock taken in sbp2scsi_complete_all_commands().  I
      admit this is ultimately no proof of correctness, especially since this
      portion of code introduced the spinlock recursion in the first place and
      we didn't realize it since this code's submission before 2.6.15 until
      now.  (I have learned a lesson from this.)
      
      I stress-tested my patch on x86 uniprocessor with a preemptible SMP
      kernel (alas I have no SMP machine yet) and made sure that all code
      paths which involve the sbp2_command_orb_lock were gone through multiple
      times.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      24c7cd06
  5. 29 3月, 2006 4 次提交
  6. 23 2月, 2006 3 次提交
    • S
      sbp2: update 36byte inquiry workaround (fix compatibility regression) · a80614d1
      Stefan Richter 提交于
      Since about Linux 2.6.14, sbp2's inquiry workaround did not work anymore
      due to changes in the SCSI layer. Update it to become effective again.
      Testing one of the two known affected bridges has shown that skip_ms_page_8
      is required as well.
      
      Also, make force_inquiry_hack tunable via /sys/module/sbp2/parameters.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJody McIntyre <scjody@modernduck.com>
      (cherry picked from 99496037c6744fd938ffb8ccfc8fc91762322ff8 commit)
      a80614d1
    • S
      sbp2: variable status FIFO address (fix login timeout) · 35bdddb8
      Stefan Richter 提交于
      Let the ieee1394 core select a suitable 1394 address range for sbp2's
      status FIFO instead of using a fixed range. Since the core only selects
      addresses which are guaranteed to be out of the "physical range" as per
      OHCI 1.1, this patch also fixes an old bug:
      
      OHCI controllers which implement a writeable PhysicalUpperBound register
      included sbp2's status FIFO in the physical range. That way sbp2 was
      never notified of a succesful login and always failed after timeout.
      Affected OHCI host adapters include ALi and Fujitsu controllers.
      
      As another side effect of this patch, the status FIFO is no longer
      located in a range for which OHCI chips perform "posted writes". Each
      status write now requires a response subaction. But since large data
      transfers involve only few status writes, there is no measurable
      decrease of I/O throughput. What's more, the status FIFO is now safe
      from potential host bus errors. Nevertheless, posted writes could be
      re-enabled by extensions to the ARM features of the 1394 stack.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJody McIntyre <scjody@modernduck.com>
      (cherry picked from b2d38cccad4ef80d6b672b8f89aae5fe2907b113 commit)
      35bdddb8
    • S
      sbp2: fix another deadlock after disconnection · bf637ec3
      Stefan Richter 提交于
      If there were commands enqueued but not completed before an SBP-2 unit
      was unplugged (or an attempt to reconnect failed), knodemgrd or any
      process which tried to remove the device would sleep uninterruptibly
      in blk_execute_rq().  Therefore make sure that all commands are
      completed when sbp2 retreats.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NJody McIntyre <scjody@modernduck.com>
      (cherry picked from 61daa34c132c5d4ed8630e2c46e9bf2f0c7b3428 commit)
      bf637ec3
  7. 19 2月, 2006 1 次提交
  8. 14 12月, 2005 2 次提交
  9. 13 12月, 2005 2 次提交
  10. 20 11月, 2005 1 次提交
  11. 19 11月, 2005 1 次提交
  12. 07 11月, 2005 6 次提交
  13. 01 10月, 2005 2 次提交
  14. 11 9月, 2005 1 次提交
  15. 28 7月, 2005 1 次提交
  16. 11 7月, 2005 1 次提交
    • B
      [PATCH] Sync up ieee-1394 · 1934b8b6
      Ben Collins 提交于
      Lots of this patch is trivial code cleanups (static vars were being
      intialized to 0, etc).
      
      There's also some fixes for ISO transmits (max buffer handling).
      Aswell, we have a few fixes to disable IRM capabilites correctly.  We've
      also disabled, by default some generally unused EXPORT symbols for the
      sake of cleanliness in the kernel.  However, instead of removing them
      completely, we felt it necessary to have a config option that allowed
      them to be enabled for the many projects outside of the main kernel tree
      that use our API for driver development.
      
      The primary reason for this patch is to revert a MODE6->MODE10 RBC
      conversion patch from the SCSI maintainers.  The new conversions handled
      directly in the scsi layer do not seem to work for SBP2.  This patch
      reverts to our old working code so that users can enjoy using Firewire
      disks and dvd drives again.
      
      We are working with the SCSI maintainers to resolve this issue outside
      of the main kernel tree.  We'll merge the patch once the SCSI layer's
      handling of the MODE10 conversion is working for us.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      1934b8b6
  17. 21 6月, 2005 1 次提交
  18. 18 6月, 2005 2 次提交
  19. 17 6月, 2005 1 次提交
  20. 26 5月, 2005 1 次提交