1. 21 Dec, 2009 3 commits
    • Johannes Berg's avatar
      mac80211: reduce reliance on netdev · 47846c9b
      Johannes Berg authored
      
      
      For bluetooth 3, we will most likely not have
      a netdev for a virtual interface (sdata), so
      prepare for that by reducing the reliance on
      having a netdev. This patch moves the name
      and address fields into the sdata struct and
      uses them from there all over. Some work is
      needed to keep them sync'ed, but that's not
      a lot of work and in slow paths anyway.
      
      In doing so, this also reduces the number of
      pointer dereferences in many places, because
      of things like sdata->dev->dev_addr becoming
      sdata->vif.addr.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      47846c9b
    • Johannes Berg's avatar
      mac80211: make station management completely depend on vif · abe60632
      Johannes Berg authored
      
      
      The station management currently uses the virtual
      interface, but you cannot add the same station to
      multiple virtual interfaces if you're communicating
      with it in multiple ways.
      
      This restriction should be lifted so that in the
      future we can, for instance, support bluetooth 3
      with an access point that mac80211 is already
      associated to.
      
      We can do that by requiring all sta_info_get users
      to provide the virtual interface and making the RX
      code aware that an address may match more than one
      station struct. Thanks to the previous patches this
      one isn't all that large and except for the RX and
      TX status paths changes has low complexity.
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      abe60632
    • John W. Linville's avatar
      wireless: report reasonable bitrate for MCS rates through wext · 254416aa
      John W. Linville authored
      
      
      Previously, cfg80211 had reported "0" for MCS (i.e. 802.11n) bitrates
      through the wireless extensions interface.  However, nl80211 was
      converting MCS rates into a reasonable bitrate number.  This patch moves
      the nl80211 code to cfg80211 where it is now shared between both the
      nl80211 interface and the wireless extensions interface.
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      254416aa
  2. 08 Dec, 2009 1 commit
  3. 04 Dec, 2009 4 commits
    • Johannes Berg's avatar
      mac80211: fix reorder buffer release · d29cecda
      Johannes Berg authored
      
      
      My patch "mac80211: correctly place aMPDU RX reorder code"
      uses an skb queue for MPDUs that were released from the
      buffer. I intentially didn't initialise and use the skb
      queue's spinlock, but in this place forgot that the code
      variant that doesn't touch the spinlock is needed.
      
      Thanks to Christian Lamparter for quickly spotting the
      bug in the backtrace Reinette reported.
      Reported-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Bug-identified-by: default avatarChristian Lamparter <chunkeey@googlemail.com>
      Tested-by: default avatarReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d29cecda
    • Kalle Valo's avatar
      cfg80211: indent regulatory messages with spaces · 269ac5fd
      Kalle Valo authored
      
      
      The regulatory messages in syslog look weird:
      
      kernel: cfg80211: Regulatory domain: US
      kernel: ^I(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
      kernel: ^I(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
      kernel: ^I(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      kernel: ^I(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      kernel: ^I(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      kernel: ^I(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
      kernel: ^I(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
      
      Indent them with four spaces instead of the tab character to get prettier
      output.
      Signed-off-by: default avatarKalle Valo <kalle.valo@nokia.com>
      Acked: Luis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      269ac5fd
    • Jouni Malinen's avatar
      mac80211: Fix TX status reporting for injected data frames · 914828fa
      Jouni Malinen authored
      
      
      An earlier optimization on removing unnecessary traffic on cooked
      monitor interfaces ("mac80211: reduce the amount of unnecessary traffic
      on cooked monitor interfaces ") ended up removing quite a bit more
      than just unnecessary traffic. It was not supposed to remove TX status
      reporting for injected frames, but ended up doing it by checking the
      injected flag in skb->cb only after that field had been cleared with
      memset.. Fix this by taking a local copy of the injected flag before
      skb->cb is cleared.
      
      This broke user space applications that depend on getting TX status
      notifications for injected data frames. For example, STA inactivity
      poll from hostapd did not work and ended up kicking out stations even
      if they were still present.
      Signed-off-by: default avatarJouni Malinen <j@w1.fi>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      914828fa
    • Jean Tourrilhes's avatar
      WE: Fix set events not propagated · 1014eb6e
      Jean Tourrilhes authored
      
      
      I've just noticed that some events are no longer propagated
      for some wireless drivers. Basically, SET request with a extra payload
      for driver without commit handler. The fix is pretty simple, see
      attached.
      	Actually, a few lines below this line, you will see that the
      event generation for simple SET (iwpoint-less ?) is done properly,
      and this other event generation does not need fixing.
      Signed-off-by: default avatarJean Tourrilhes <jt@hpl.hp.com>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      1014eb6e
  4. 03 Dec, 2009 27 commits
  5. 02 Dec, 2009 5 commits