18 Apr, 2008

7 commits


17 Apr, 2008

11 commits

  • David S. Miller
     
  • This patch is a largely cosmetic cleanup of the TIPC reference
    table code.
    - The object reference field in each table entry is now single
    32-bit integer instead of a union of two 32-bit integers.
    - Variable naming has been made more consistent.
    - Error message output has been made more consistent.
    - Useless #includes have been eliminated.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     
  • This patch modifies TIPC's reference table code to delay initializing
    table entries until they are actually needed by applications.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     
  • This patch converts the TIPC reference table locking routines
    into non-inlined routines, since they are mainly called from
    non-performance critical areas of TIPC and the added code
    footprint incurred through inlining can no longer be justified.

    Signed-off-by: Allan Stephens
    Signed-off-by: David S. Miller

    Allan Stephens
     
  • This patch reworks the scanning code (ieee80211_rx_bss_info) to take
    more parameters from beacons and keep a BSS info structure alive when
    only beacons for it are received. This fixes a problem with iwlwifi
    drivers (where we don't understand the root cause of the problem yet)
    and another driver for some broken hardware (which cannot send probe
    requests unless associated, so can't always actively scan.)

    Signed-off-by: Bill Moss
    [jmberg: reformatted comments, make probe_resp a bool]
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This allows creating interfaces in WDS mode or switching
    existing ones into WDS mode (both via cfg80211 and wext.)

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • When we add multiple todo entries, we rely on them being executed
    mostly in the right order, especially when a key is being replaced.
    But when a default key is replaced, the todo list order will differ
    from the order when the key being replaced is not a default key, so
    problems will happen. Hence, just move each todo item to the end of
    the list when it is added so we can in the other code ensure that
    hw accel for a key will be disabled before it is enabled for the
    replacement.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • When STAs are expired, we need to hold the sta_lock. Using
    the same lock for keys too would then mean we'd need another
    key free function, and that'll just lead to confusion, so just
    use a new spinlock for all key lists.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • There is no need to send BSS changes to driver from beacons processed
    during scanning. We are more interested in beacons from an AP with which
    we are associated - these will still be used to send updates to driver as
    the beacons are received without scanning.

    This change·removes the requirement that bss_info_changed needs to be atomic.
    The beacons received during scanning are processed from a tasklet, but if we
    do not call bss_info_changed for these beacons there is no need for it to be
    atomic. This function (bss_info_changed) is called either from workqueue or
    ioctl in all other instances.

    Signed-off-by: Reinette Chatre
    Acked-by: Tomas Winkler
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Reinette Chatre
     
  • There were a few more instances of sta_info_get calls not being
    protected by RCU, fix them.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • The previous key locking patch left a small race: it would be possible
    to add a key and take the interface down before the key todo is run so
    that hwaccel for that key is enabled on an interface that is down. Avoid
    this by running the todo list when an interface is brought up or down.

    This patch also fixes a small bug: before this change, a few functions
    used the key list without the lock that protects it.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

16 Apr, 2008

22 commits