1. 22 Aug, 2008 2 commits
  2. 04 Aug, 2008 1 commit
  3. 01 Aug, 2008 1 commit
  4. 17 Jul, 2008 1 commit
  5. 14 Jul, 2008 5 commits
    • Johannes Berg's avatar
      mac80211: fix TX sequence numbers · f591fa5d
      Johannes Berg authored
      
      
      This patch makes mac80211 assign proper sequence numbers to
      QoS-data frames. It also removes the old sequence number code
      because we noticed that only the driver or hardware can assign
      sequence numbers to non-QoS-data and especially management
      frames in a race-free manner because beacons aren't passed
      through mac80211's TX path.
      
      This patch also adds temporary code to the rt2x00 drivers to
      not break them completely, that code will have to be reworked
      for proper sequence numbers on beacons.
      
      It also moves sequence number assignment down in the TX path
      so no sequence numbers are assigned to frames that are dropped.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f591fa5d
    • Johannes Berg's avatar
      mac80211: revamp beacon configuration · 9d139c81
      Johannes Berg authored
      
      
      This patch changes mac80211's beacon configuration handling
      to never pass skbs to the driver directly but rather always
      require the driver to use ieee80211_beacon_get(). Additionally,
      it introduces "change flags" on the config_interface() call
      to enable drivers to figure out what is changing. Finally, it
      removes the beacon_update() driver callback in favour of
      having IBSS beacon delivered by ieee80211_beacon_get() as well.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      9d139c81
    • Johannes Berg's avatar
      mac80211: push interface checks down · f3947e2d
      Johannes Berg authored
      
      
      This patch pushes the "netif_running()" and "same type as before"
      checks down into ieee80211_if_change_type() to centralise the
      logic instead of duplicating it for cfg80211 and wext.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      f3947e2d
    • Johannes Berg's avatar
      mac80211: revamp virtual interface handling · 75636525
      Johannes Berg authored
      
      
      This patch revamps the virtual interface handling and makes the
      code much easier to follow. Fewer functions, better names, less
      spaghetti code.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      75636525
    • Johannes Berg's avatar
      mac80211: make master netdev handling sane · 3e122be0
      Johannes Berg authored
      
      
      Currently, almost every interface type has a 'bss' pointer
      pointing to BSS information. This BSS information, however,
      is for a _local_ BSS, not for the BSS we joined, so having
      it on a STA mode interface makes little sense, but now they
      have it pointing to the master device, which is an AP mode
      virtual interface. However, except for some bitrate control
      data, this pointer is only used in AP/VLAN modes (for power
      saving stations.)
      
      Overall, it is not necessary to even have the master netdev
      be a valid virtual interface, and it doesn't have to be on
      the list of interfaces either.
      
      This patch changes the master netdev to be special, it now
       - no longer is on the list of virtual interfaces, which
         lets me remove a lot of tests for that
       - no longer has sub_if_data attached, since that isn't used
      
      Additionally, this patch changes some vlan/ap mode handling
      that is related to these 'bss' pointers described above (but
      in the VLAN case they actually make sense because there they
      point to the AP they belong to); it also adds some debugging
      code to IEEE80211_DEV_TO_SUB_IF to validate it is not called
      on the master netdev any more.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      3e122be0
  6. 08 Jul, 2008 2 commits
  7. 02 Jul, 2008 2 commits
  8. 26 Jun, 2008 1 commit
  9. 16 Jun, 2008 1 commit
    • David S. Miller's avatar
      wext: Emit event stream entries correctly when compat. · ccc58057
      David S. Miller authored
      
      
      Three major portions to this change:
      
      1) Add IW_EV_COMPAT_LCP_LEN, IW_EV_COMPAT_POINT_OFF,
         and IW_EV_COMPAT_POINT_LEN helper defines.
      
      2) Delete iw_stream_check_add_*(), they are unused.
      
      3) Add iw_request_info argument to iwe_stream_add_*(), and use it to
         size the event and pointer lengths correctly depending upon whether
         IW_REQUEST_FLAG_COMPAT is set or not.
      
      4) The mechanical transformations to the drivers and wireless stack
         bits to get the iw_request_info passed down into the routines
         modified in #3.  Also, explicit references to IW_EV_LCP_LEN are
         replaced with iwe_stream_lcp_len(info).
      
      With a lot of help and bug fixes from Masakazu Mokuno.
      
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ccc58057
  10. 14 Jun, 2008 1 commit
    • Vladimir Koutny's avatar
      mac80211: eliminate IBSS warning in rate_lowest_index() · 87291c02
      Vladimir Koutny authored
      
      
      In IBSS mode prior to join/creation of new IBSS it is possible that
      a frame from unknown station is received and an ibss_add_sta() is
      called. This will cause a warning in rate_lowest_index() since the
      list of supported rates of our station is not initialized yet.
      
      The fix is to add ibss stations with a rate we received that frame
      at; this single-element set will be extended later based on beacon
      data. Also there is no need to store stations from a foreign IBSS.
      
      Signed-off-by: default avatarVladimir Koutny <vlado@ksp.sk>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      87291c02
  11. 10 Jun, 2008 1 commit
  12. 09 Jun, 2008 1 commit
  13. 03 Jun, 2008 1 commit
  14. 21 May, 2008 5 commits
  15. 14 May, 2008 2 commits
    • Bruno Randolf's avatar
      mac80211: use hardware flags for signal/noise units · 566bfe5a
      Bruno Randolf authored
      
      
      trying to clean up the signal/noise code. the previous code in mac80211 had
      confusing names for the related variables, did not have much definition of
      what units of signal and noise were provided and used implicit mechanisms from
      the wireless extensions.
      
      this patch introduces hardware capability flags to let the hardware specify
      clearly if it can provide signal and noise level values and which units it can
      provide. this also anticipates possible new units like RCPI in the future.
      
      for signal:
      
        IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
        IEEE80211_HW_SIGNAL_DB     - dB difference to unspecified reference point
        IEEE80211_HW_SIGNAL_DBM    - dBm, difference to 1mW
      
      for noise we currently only have dBm:
      
        IEEE80211_HW_NOISE_DBM     - dBm, difference to 1mW
      
      if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
      to provide the maximum value (max_signal) it reports in order for applications
      to make sense of the signal values.
      
      i tried my best to find out for each driver what it can provide and update it
      but i'm not sure (?) for some of them and used the more conservative guess in
      doubt. this can be fixed easily after this patch has been merged by changing
      the hardware flags of the driver.
      
      DRIVER          SIGNAL    MAX	NOISE   QUAL
      -----------------------------------------------------------------
      adm8211         unspec(?) 100   n/a     missing
      at76_usb        unspec(?) (?)   unused  missing
      ath5k           dBm             dBm     percent rssi
      b43legacy       dBm             dBm     percent jssi(?)
      b43             dBm             dBm     percent jssi(?)
      iwl-3945        dBm             dBm     percent snr+more
      iwl-4965        dBm             dBm     percent snr+more
      p54             unspec    127   n/a     missing
      rt2x00          dBm	        n/a     percent rssi+tx/rx frame success
        rt2400        dBm             n/a
        rt2500pci     dBm             n/a
        rt2500usb     dBm             n/a
        rt61pci       dBm             n/a
        rt73usb       dBm             n/a
      rtl8180         unspec(?) 65    n/a     (?)
      rtl8187         unspec(?) 65    (?)     noise(?)
      zd1211          dB(?)     100   n/a     percent
      
      drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
      
      Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      566bfe5a
    • Johannes Berg's avatar
      mac80211: fix queue constant confusion · fac371d9
      Johannes Berg authored
      
      
      In commit 31ccc476b77234f6afb3 (mac80211: QoS related cleanups) I
      accidentally changed these to use IEEE80211_MAX_AMPDU_QUEUES twice
      which obviously is wrong, it should be IEEE80211_MAX_QUEUES once.
      Currently harmless as they're both the same value anyway.
      
      Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
      fac371d9
  16. 07 May, 2008 3 commits
  17. 30 Apr, 2008 1 commit
  18. 16 Apr, 2008 2 commits
  19. 08 Apr, 2008 5 commits
  20. 01 Apr, 2008 2 commits