1. 13 6月, 2006 2 次提交
    • B
      ieee1394: support for slow links or slow 1394b phy ports · 647dcb5f
      Ben Collins 提交于
      Add support for the following types of hardware:
       + nodes that have a link speed < PHY speed
       + 1394b PHYs that are less than S800 capable
       + 1394b/1394a adapter cable between two 1394b PHYs
      Also, S1600 and S3200 are now supported if IEEE1394_SPEED_MAX is raised.
      
      A probing function is added to nodemgr's config ROM fetching routine
      which adjusts the allowable speed if an access problem was encountered.
      Pros and Cons of the approach:
       + minimum code footprint to support this less widely used hardware
       + nearly no overhead for unaffected hardware
       - ineffective before nodemgr began to read the ROM of affected nodes
       - ineffective if ieee1394 is loaded with disable_nodemgr=1
      The speed map CSRs which are published to the bus are not touched by the
      patch.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Cc: Hakan Ardo <hakan@debian.org>
      Cc: Calculex <linux@calculex.com>
      Cc: Robert J. Kosinski <robk@cmcherald.com>
      Signed-off-by: NBen Collins <bcollins@ubuntu.com>
      647dcb5f
    • B
      sbp2: make TSB42AA9 workaround specific to Momobay CX-1 · 4b9a3347
      Ben Collins 提交于
      The workarounds are not required for DViCO Momobay FX-3A and AFAIR not
      for Momobay CX-2. These contain an TSB42AA9A but feature the same
      firmware_revision value as the older DViCO Momobay CX-1.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NBen Collins <bcollins@ubuntu.com>
      4b9a3347
  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 2 次提交
    • A
      [SCSI] git-scsi-misc-sbp2-warning-fix · 644e02ea
      Andrew Morton 提交于
      drivers/ieee1394/sbp2.c: In function `sbp2_check_sbp2_response':
      drivers/ieee1394/sbp2.c:2154: warning: unused variable `device_type'
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      644e02ea
    • A
      [SCSI] TYPE_RBC cache fixes (sbp2.c affected) · 631e8a13
      Al Viro 提交于
      	a) TYPE_SDAD renamed to TYPE_RBC and taken to scsi.h
      	b) in sbp2.c remapping of TYPE_RPB to TYPE_DISK turned off
      	c) relevant places in midlayer and sd.c taught to accept TYPE_RBC
      	d) sd.c::sd_read_cache_type() looks into page 6 when dealing with
      TYPE_RBC - these guys have writeback cache flag there and are not guaranteed
      to have page 8 at all.
      	e) sd_read_cache_type() got an extra sanity check - it checks that
      it got the page it asked for before using its contents.  And screams if
      mismatch had happened.  Rationale: there are broken devices out there that
      are "helpful" enough to go for "I don't have a page you've asked for, here,
      have another one".  For example, PL3507 had been caught doing just that...
      	f) sbp2 sets sdev->use_10_for_rw and sdev->use_10_for_ms instead
      of bothering to remap READ6/WRITE6/MOD_SENSE, so most of the conversions
      in there are gone now.
      
      	Incidentally, I wonder if USB storage devices that have no
      mode page 8 are simply RBC ones.  I haven't touched that, but it might
      be interesting to check...
      Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      631e8a13
  21. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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!
      1da177e4