1. 13 Nov, 2008 37 commits
  2. 12 Nov, 2008 3 commits
    • David S. Miller's avatar
    • David S. Miller's avatar
      niu: Fix readq implementation when architecture does not provide one. · e23a59e1
      David S. Miller authored
      This fixes a TX hang reported by Jesper Dangaard Brouer.
      
      When an architecutre cannot provide a fully functional
      64-bit atomic readq/writeq, the driver must implement
      it's own.  This is because only the driver can say whether
      doing something like using two 32-bit reads to implement
      the full 64-bit read will actually work properly.
      
      In particular one of the issues is whether the top 32-bits
      or the bottom 32-bits of the 64-bit register should be read
      first.  There could be side effects, and in fact that is
      exactly the problem here.
      
      The TX_CS register has counters in the upper 32-bits and
      state bits in the lower 32-bits.  A read clears the state
      bits.
      
      We would read the counter half before the state bit half.
      That first read would clear the state bits, and then the
      driver thinks that no interrupts are pending because the
      interrupt indication state bits are seen clear every time.
      
      Fix this by reading the bottom half before the upper half.
      Tested-by: default avatarJesper Dangaard Brouer <jdb@comx.dk>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e23a59e1
    • Johannes Berg's avatar
      hostap: pad the skb->cb usage in lieu of a proper fix · f7cd1686
      Johannes Berg authored
      Like mac80211 did, this driver makes 'clever' use of skb->cb to pass
      information along with an skb as it is requeued from the virtual device
      to the physical wireless device.  Unfortunately, that trick no longer
      works...
      
      Unlike mac80211, code complexity and driver apathy makes this hack
      the best option we have in the short run.  Hopefully someone will
      eventually be motivated to code a proper fix before all the effected
      hardware dies.
      
      (Above text by me.  Johannes officially disavows all knowledge of this
      hack. -- JWL)
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Cc: stable@kernel.org
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f7cd1686