1. 28 4月, 2007 2 次提交
  2. 17 2月, 2007 1 次提交
  3. 09 2月, 2007 2 次提交
  4. 08 12月, 2006 13 次提交
  5. 08 10月, 2006 1 次提交
  6. 18 9月, 2006 3 次提交
    • S
      ieee1394: nodemgr: grab class.subsys.rwsem in nodemgr_resume_ne · a1842be8
      Stefan Richter 提交于
      nodemgr_resume_ne was iterating over nodemgr_ud_class.children without
      protection by nodemgr_ud_class.subsys.rwsem.
      
      FIXME:
      Shouldn't we rather use class->sem there, not class->subsys.rwsem?
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      a1842be8
    • S
      ieee1394: nodemgr: fix rwsem recursion · 9b516010
      Stefan Richter 提交于
      nodemgr_update_pdrv grabbed an rw semaphore (as reader) which was
      already taken by its caller's caller, nodemgr_probe_ne (as reader too).
      Reported by Miles Lane, call path pointed out by Arjan van de Ven.
      
      FIXME:
      Shouldn't we rather use class->sem there, not class->subsys.rwsem?
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      9b516010
    • S
      ieee1394: shrink tlabel pools, remove tpool semaphores · 9951903e
      Stefan Richter 提交于
      This patch reduces the size of struct hpsb_host and also removes
      semaphores from ieee1394_transactions.c.  On i386, struct hpsb_host
      shrinks from 10656 bytes to 6688 bytes.  This is accomplished by
       - using a single wait_queue for hpsb_get_tlabel instead of many
         instances of semaphores,
       - using a single lock to serialize access to all tlabel pools (the
         protected code regions are small, i.e. lock contention very low),
       - omitting the sysfs attribute tlabels_allocations.
      
      Drawback:  In the rare case that a process needs to sleep because all
      transaction labels for the node are temporarily exhausted, it is also
      woken up if a tlabel for a different node became free, checks for an
      available tlabel, and is put to sleep again.  The check is not costly
      and the situation occurs extremely rarely.  (Tlabels are typically
      only exhausted if there was no context switch to the khpsbpkt thread
      which recycles tlables.)  Therefore the benefit of reduced tpool size
      outweighs this drawback.
      
      The sysfs attributes tlabels_free and tlabels_mask are not compiled
      anymore unless CONFIG_IEEE1394_VERBOSEDEBUG is set.
      
      The by far biggest member of struct hpsb_host, the struct csr_control
      csr (5272 bytes on i386), is now placed at the end of struct hpsb_host.
      
      Note, hpsb_get_tlabel calls the macro wait_event_interruptible with a
      condition argument which has a side effect (allocation of a tlabel and
      manipulation of the packet).  This side effect happens only if the
      condition is true.  The patch relies on wait_event_interruptible not
      evaluating the condition again after it became true.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      9951903e
  7. 04 7月, 2006 6 次提交
  8. 03 7月, 2006 1 次提交
    • S
      [PATCH] ieee1394: fix cosmetic problem in speed probe · d7530a1e
      Stefan Richter 提交于
      If ieee1394.h::IEEE1394_SPEED_MAX is bigger than the actual speed of an
      1394b host adapter and the speed to another 1394b node was probed, a
      bigger speed than actually used was kept in host->speed[n].  The only
      resulting problem so far was sbp2 displaying bogus values in the syslog,
      e.g. S3200 for actual S800 connections if IEEE1394_SPEED_MAX was S3200.
      But other high-level drivers which access this field could get into more
      trouble.  (Eth1394 is the only other in-tree driver which does so.  It
      seems it is not affected.)
      
      Nodemgr now clips this value according to the host adapter's link speed.
      
      A pointer expression in nodemgr_check_speed is also changed for clarity.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NBen Collins <bcollins@ubuntu.com>
      d7530a1e
  9. 01 7月, 2006 1 次提交
  10. 26 6月, 2006 1 次提交
  11. 13 6月, 2006 1 次提交
    • 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
  12. 05 1月, 2006 1 次提交
  13. 13 12月, 2005 3 次提交
  14. 06 12月, 2005 1 次提交
  15. 02 12月, 2005 2 次提交
  16. 07 11月, 2005 1 次提交