1. 02 Aug, 2008 1 commit
    • David Moore's avatar
      firewire: Preserve response data alignment bug when it is harmless · 8401d92b
      David Moore authored
      Recently, a bug having to do with the alignment of transaction response
      data was fixed.  However, some apps such as libdc1394 relied on the
      presence of that bug in order to function correctly.  In order to stay
      compatible with old versions of those apps, this patch preserves the bug
      in cases where it is harmless to normal operation (such as the single
      quadlet read) due to a simple duplication of data.  This guarantees
      maximum compatability for those users who are using the old app with the
      fixed kernel.
      Signed-off-by: default avatarDavid Moore <dcm@acm.org>
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      8401d92b
  2. 25 Jul, 2008 3 commits
  3. 20 Jul, 2008 1 commit
    • JiSheng Zhang's avatar
      firewire: queue the right number of data · f9543d0a
      JiSheng Zhang authored
      There will be 4 padding bytes in struct fw_cdev_event_response on some platforms
      The member:__u32 data will point to these padding bytes. While queue the
      response and data in complete_transaction in fw-cdev.c, it will queue like this:
      |response(excluding padding bytes)|4 padding bytes|4 padding bytes|data.
      It queue 4 extra bytes. That is to say it use "&response + sizeof(response)"
      while other place of kernel and userspace library use "&response + offsetof
      (typeof(response), data)". So it will lost the last 4 bytes of data. This patch
      can fix it while not changing the struct definition.
      Signed-off-by: default avatarJiSheng Zhang <jszhang3@mail.ustc.edu.cn>
      
      This fixes responses to outbound block read requests on 64bit architectures.
      Tested on i686, x86-64, and x86-64 with i686 userland, using firecontrol and
      gscanbus.
      Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      f9543d0a
  4. 14 Jul, 2008 13 commits
  5. 13 Jul, 2008 6 commits
  6. 12 Jul, 2008 16 commits