1. 07 10月, 2011 4 次提交
  2. 23 9月, 2011 2 次提交
  3. 14 9月, 2011 5 次提交
  4. 25 8月, 2011 1 次提交
  5. 22 8月, 2011 14 次提交
  6. 08 7月, 2011 1 次提交
    • A
      wl12xx: start/stop queues according to global per-AC counters · f1a46384
      Arik Nemtsov 提交于
      Split tx_queue_count to count per-AC skb's queued, instead of relying on
      the skb-queue len. The skb queues used were only valid in STA-mode, as
      AP-mode uses per-link queues.
      
      This fixes a major regression in AP-mode, caused by the patch
      "wl12xx: implement Tx watermarks per AC". With that patch applied, we
      effectively had no regulation of Tx queues in AP-mode. Therefore a
      sustained high rate of Tx could cause exhaustion of the skb memory pool.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      f1a46384
  7. 06 7月, 2011 4 次提交
  8. 27 6月, 2011 3 次提交
  9. 02 5月, 2011 3 次提交
  10. 19 4月, 2011 3 次提交
    • I
      wl12xx: Simplify TX blocks accounting · d2f4d47d
      Ido Yariv 提交于
      The total number of TX memory blocks may change when the dynamic memory
      option is enabled. The current implementation only tracks the available
      memory blocks, which over-complicates TX blocks accounting.
      
      By tracking the number of allocated blocks, calculation of the number of
      available blocks becomes simpler and cleaner. It simply equals the total
      number of TX memory blocks minus the allocated ones.
      
      Also, remove some unnecessary castings and use union member accesses
      instead.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      d2f4d47d
    • I
      wl12xx: Clean up the dummy packet mechanism · 990f5de7
      Ido Yariv 提交于
      The current implementation allocates a skb each time one is requested by
      the firmware. Since dummy packets are handled differently than regular
      packets, the skb needs to be marked. Currently, this is done by
      setting the pkt_type member to 5. This might not be safe, as we cannot
      be sure that there won't be any other packets with this pkt_type value.
      
      Since the packet does not change from one request to another, we can
      simply allocate a dummy packet template and always send it. All changes
      to the skb done during packet preparation must be reverted, so the same
      skb can be reused.
      
      The dummy packets are not transmitted, therefore there's no need to set
      the BSSID or our own MAC address.
      
      In addition, the header portion of the packet was zeroed by mistake, so
      fix that as well.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      990f5de7
    • I
      wl12xx: Clean up the block size alignment code · 0da13da7
      Ido Yariv 提交于
      Simplify and clean up the block size alignment code:
      1. Set the block size according to the padding field type, as it cannot
         exceed the maximum value this field can hold.
      2. Move the alignment code into a function instead of duplicating it in
         multiple places.
      3. In the current implementation, the block_size member can be
         misleading because a zero value actually means that there's no need to
         align. Declare a block size alignment quirk instead.
      Signed-off-by: NIdo Yariv <ido@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      0da13da7