1. 16 10月, 2008 1 次提交
    • S
      ieee1394: raw1394: replace BKL by local mutex, make ioctl() and mmap() thread-safe · 10963ea1
      Stefan Richter 提交于
      This removes the last usage of the Big Kernel Lock from the ieee1394
      stack, i.e. from raw1394's (unlocked_)ioctl and compat_ioctl.
      
      The ioctl()s don't need to take the BKL, but they need to be serialized
      per struct file *.  In particular, accesses to ->iso_state need to be
      serial.  We simply use a blocking mutex for this purpose because
      libraw1394 does not use O_NONBLOCK.  In practice, there is no lock
      contention anyway because most if not all libraw1394 clients use a
      libraw1394 handle only in a single thread.
      
      mmap() also accesses ->iso_state.  Until now this was unprotected
      against concurrent changes by ioctls.  Fix this bug while we are at it.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      10963ea1
  2. 10 7月, 2007 1 次提交
    • S
      ieee1394: remove old isochronous ABI · 53c96b41
      Stefan Richter 提交于
      Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}"
      from Adrian Bunk, November 20 2006.
      
      This patch also removes the underlying facilities in ohci1394 and
      disables them in pcilynx.  That is, hpsb_host_driver.devctl() and
      hpsb_host_driver.transmit_packet() are no longer used for iso reception
      and transmission.
      
      Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso
      interface has never been implemented in pcilynx, pcilynx is now no
      longer useful for isochronous applications.
      
      raw1394 will still handle the request types but will complete the
      requests with errors that indicate API version conflicts.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      53c96b41
  3. 08 12月, 2006 1 次提交
  4. 04 7月, 2006 1 次提交
    • S
      [PATCH] ieee1394: raw1394: remove redundant counting semaphore · 45289bf6
      Stefan Richter 提交于
      An already existing wait queue replaces raw1394's complete_sem which was
      maintained in parallel to the wait queue.  The role of the semaphore's
      counter is taken over by a direct check of what was really counted:  The
      presence of items in the list of completed requests.
      
      Notes:
      
       - raw1394_release() sleeps uninterruptibly until all requests were
         completed.  This is the same behaviour as before the patch.
      
       - The macros wait_event and wait_event_interruptible are called with a
         condition argument which has a side effect, i.e. manipulation of the
         requests list.  This side effect happens only if the condition is
         true.  The patch relies on the fact that wait_event[_interruptible]
         does not evaluate the condition again after it became true.
      
       - The diffstat looks unfavorable with respect to added lines of code.
         However 19 of them are comments, and some are due to separation of
         existing code blocks into two small helper functions.
      Signed-off-by: NStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: NBen Collins <bcollins@ubuntu.com>
      45289bf6
  5. 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