1. 15 6月, 2008 7 次提交
  2. 22 5月, 2008 5 次提交
    • J
      mac80211: move TX info into skb->cb · e039fa4a
      Johannes Berg 提交于
      This patch converts mac80211 and all drivers to have transmit
      information and status in skb->cb rather than allocating extra
      memory for it and copying all the data around. To make it fit,
      a union is used where only data that is necessary for all steps
      is kept outside of the union.
      
      A number of fixes were done by Ivo, as well as the rt2x00 part
      of this patch.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      e039fa4a
    • I
      rt2x00: Merge RX and TX entry private data · b8be63ff
      Ivo van Doorn 提交于
      With the pending removal of the tx_control structure
      we can merge the RX and TX entry private data structure
      in advance. This will temporarily increase the required
      memory for the queue, but that overhead will only be limited.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b8be63ff
    • I
      rt2x00: Split rt2x00lib_write_tx_desc() · 7050ec82
      Ivo van Doorn 提交于
      Split rt2x00lib_write_tx_desc() up into a TX descriptor initializor
      and TX descriptor writer.
      
      This split is required to properly allow mac80211 to move its
      tx_control structure into the skb->cb array.
      The rt2x00queue_create_tx_descriptor() function will read all tx control
      information and convert it into a rt2x00 TX descriptor information structure.
      After that function is complete, we have all information we needed from the
      tx control structure and are free to start writing into the skb->cb array
      for our own purposes.
      rt2x00queue_write_tx_descriptor() will be in charge of really sending
      the TX descriptor to the hardware and kicking the TX queue.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7050ec82
    • I
      rt2x00: Preserve descriptor information after memmove() · 70a96109
      Ivo van Doorn 提交于
      Due to usage of memmove() in rt2x00usb the descriptor can become
      corrupted because it is being overwritten by the data part.
      Overall having the descriptor in front of the frame is a bad idea,
      we can however use the skb->cb array for this task, since that
      contains more then enough room to hold the entire descriptor and
      preserve the information long enough.
      
      After this we can also cleanup the alignment code a bit to make it
      work a bit more flexible to allow for all kinds of odd header lengths.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      70a96109
    • I
      rt2x00: Fix TX status reporting · fb55f4d1
      Ivo van Doorn 提交于
      The tx_status enumeration was broken since the introduction
      of rt61pci. That driver uses different values to report the
      status of the tx action.
      This would lead to frames that were reported as success but
      actually failed to be send out, or frames that were neither
      successfull or failure which were reported as failure.
      
      Fix this by change the TX status reporting and more explicitely
      check for failure or success. Note that a third possibility is
      added "unknown". Not all hardware (USB) can report the actual
      TX status, for rt61pci some frames will receive this status
      because the TXdone handler is never called for those frames.
      This unknown will now be handled as neither success or failure,
      so we no longer increment the failure counter while this conclusion
      could not be determined from the real status of the frame.
      Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      fb55f4d1
  3. 08 5月, 2008 2 次提交
  4. 14 3月, 2008 3 次提交
  5. 01 3月, 2008 8 次提交
  6. 29 1月, 2008 11 次提交
  7. 17 1月, 2008 1 次提交
    • I
      rt2x00: Fix ieee80211 payload alignment · d101f649
      Ivo van Doorn 提交于
      As Johannes Berg indicated, the NET_IP_ALIGN doesn't
      need to be used for ieee80211 frames. This means we
      can simplify the alignment calculation to just
      use the result of the header size modulus 4 as frame
      alignment.
      
      Furthermore we shouldn't use NET_IP_ALIGN in rt2x00usb
      because it could be 0 on some architectures and we absolutely
      need to have 2 bytes reserved for possible aligning.
      
      Signed-off-by: Ivo van Doorn<IvDoorn@gmail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      d101f649
  8. 11 1月, 2008 1 次提交
  9. 19 11月, 2007 1 次提交
  10. 11 10月, 2007 1 次提交