08 Apr, 2013

11 commits


26 Mar, 2013

1 commit


25 Mar, 2013

4 commits


22 Mar, 2013

4 commits


21 Mar, 2013

1 commit


20 Mar, 2013

2 commits


19 Mar, 2013

8 commits

  • When an interface change type, the CAB queue must be reassigned,
    do this in hwsim to avoid warnings/crashes.

    Reported-by: Jouni Malinen
    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Sometimes queues are flushed in the middle of
    operation, which can lead to driver issues.
    Stop queues temporarily, while flushing, to
    avoid transmitting new packets while they are
    being flushed.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • There are a number of situations in which mac80211 only
    really needs to flush queues for one virtual interface,
    and in fact during this frames might be transmitted on
    other virtual interfaces. Calculate and pass a queue
    bitmap to the driver so it knows which queues to flush.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • max_tp_rate2 and max_prob_rate tend to get used occasionally during
    retransmission, which is more useful for the statistics than probing
    with individual probe packets.

    Signed-off-by: Felix Fietkau
    Signed-off-by: Johannes Berg

    Felix Fietkau
     
  • Slow rates that have >95% success probability do not need to be
    monitored continuously. When the channel conditions change rapidly, the
    slow sampling results are useless anyway. When conditions change slowly,
    they will be monitored by gradual downgrading of the actively used
    rates. This patch slightly improves throughput under good conditions.

    Signed-off-by: Felix Fietkau
    Signed-off-by: Johannes Berg

    Felix Fietkau
     
  • Under load, otherwise stable rates can easily fluctuate because of
    collisions. In my tests on a clean channel, the success probability of
    the max throughput rate often stays somewhere between 90% and 100% under
    load. This can cause some unnecessary switching to lower rates.
    This patch improves stability by treating success probability values
    between 90% and 100% the same.
    In my tests on a 3x3 HT20 link with lots of TCP traffic, it improves the
    average throughput by a few mbit/s.

    Signed-off-by: Felix Fietkau
    Signed-off-by: Johannes Berg

    Felix Fietkau
     
  • This basically reverts commit b207cdb07f3f01ec1adaac62e9d0cc918c60a81a.

    Now is possible to use drv_{add,remove}_interface() and vif->debugfs_dir
    to create/remove per interface debugfs files. Remove redundant
    callbacks.

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: Johannes Berg

    Stanislaw Gruszka
     
  • There is need create driver own per interface debugfs files. This is
    currently done by drv_{add,remove}_interface_debugfs() callbacks. But it
    is possible that after we remove interface from the driver (i.e.
    on suspend) we call drv_remove_interface_debugfs() function. Fixing this
    problem will require to add call drv_{add,remove}_interface_debugfs()
    anytime we create and remove interface in mac80211. So it's better to
    add debugfs dir dentry to vif structure to allow to create/remove
    custom debugfs driver files on drv_{add,remove}_interface().

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: Johannes Berg

    Stanislaw Gruszka
     

11 Mar, 2013

5 commits


07 Mar, 2013

3 commits

  • It is possible that sta_info_recalc_tim() is called consecutively
    without changing the station's tim bit. In such cases there is no
    need to call the driver's set_tim() callback.

    Signed-off-by: Ilan Peer
    Signed-off-by: Johannes Berg

    Ilan Peer
     
  • The irqsafe version ieee80211_sta_eosp_irqsafe() exists, but
    drivers must not mix calls to any irqsafe/non-irqsafe function.
    Both ath9k and iwlwifi, the likely first users of this interface,
    use non-irqsafe RX/TX/TX status so must also use a non-irqsafe
    version of this function. Since no driver uses the _irqsafe()
    version, remove that.

    Signed-off-by: Johannes Berg

    Johannes Berg
     
  • Make the TX bytes/packets counters race-free by keeping
    them per AC so concurrent TX on queues can't cause lost
    or wrong updates. This works since each station belongs
    to a single interface. While at it also make the bytes
    counters 64-bit.

    Signed-off-by: Johannes Berg

    Johannes Berg
     

06 Mar, 2013

1 commit

  • There is a corner case which wasn't being covered:
    userspace may authenticate and allocate stations,
    but still leave the peering up to the kernel.

    Initialize the peering timer if the MPM is not in
    userspace, in a path which is taken by both the kernel and
    userspace when allocating stations.

    Signed-off-by: Thomas Pedersen
    Signed-off-by: Johannes Berg

    Thomas Pedersen