1. 06 3月, 2013 3 次提交
    • E
      iwlwifi: mvm: support IEEE80211_AMPDU_TX_STOP_FLUSH · e3d9e7ce
      Emmanuel Grumbach 提交于
      mac80211 tells us when we need to dump the frames from the
      AGG queue instead of releasing them as single MPDUs.
      Being able to differentiate between the different cases
      (IEEE80211_AMPDU_TX_STOP_*) allows us to handle races better.
      
      When the station is removed, mac80211 asks to flush and
      removes the station right away.
      This allows to avoid a case where we still have frames in
      AGG queues, but the station has been remove already.
      
      Note that we can have frames on the shared queues, but this
      is not a problem: the station in the fw will be kept until
      all the frames on the shared queues have been drained.
      AGG queues are a special case since they are dynamically
      allocated.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      e3d9e7ce
    • E
      iwlwifi: mvm: free AGG queue when we STA is removed · 80d85655
      Emmanuel Grumbach 提交于
      When we stop an AGG session, we need to look at the sequence
      numbers in in the private area of the ieee80211_sta struct.
      This allows us to know is the queue is empty. To get access
      to this private area, we use fw_id_to_mac_id that maps
      sta_id (index of the STA in fw table) to ieee80211_sta.
      
      When the STA exists in fw, but not in mac80211, we set
      an ERR ptr in fw_id_to_mac_id.
      
      But if we first set an ERR ptr to fw_id_to_mac_id, and only
      then flush the queues, then we won't be able to access the
      sequence numbers in ieee80211_sta from the reclaim flow.
      This means that we will never be able to release an AGG
      queue when a station is deleted.
      
      So first, flush the queue. That will let the reclaim flow
      call iwl_mvm_check_ratid_empty which will disable the AGG
      queue as needed, and only then, remove the mapping in
      fw_id_to_mac_id.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      80d85655
    • E
      iwlwifi: a few fixes in license · 410dc5aa
      Emmanuel Grumbach 提交于
      7000.c was released as GPL only by mistake: it should be
      dual licensed - GPL / BSD.
      The file that contains the license in the kernel is COPYING
      and not LICENSE.GPL.
      Signed-off-by: NEmmanuel Grumbach <emmanuel.grumbach@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      410dc5aa
  2. 04 3月, 2013 1 次提交
  3. 19 2月, 2013 1 次提交
  4. 12 2月, 2013 1 次提交
  5. 11 2月, 2013 2 次提交
  6. 01 2月, 2013 1 次提交
    • J
      iwlwifi: add the MVM driver · 8ca151b5
      Johannes Berg 提交于
      Newer firmware revisions have a completely new
      firmware API. This is the new driver for this
      new API.
      
      I've listed the people who directly contributed
      code, but many others from various teams have
      contributed in other ways.
      
      Cc: Alexander Bondar <alexander.bondar@intel.com>
      Cc: Amit Beka <amit.beka@intel.com>
      Cc: Amnon Paz <amnonx.paz@intel.com>
      Cc: Assaf Krauss <assaf.krauss@intel.com>
      Cc: David Spinadel <david.spinadel@intel.com>
      Cc: Dor Shaish <dor.shaish@intel.com>
      Cc: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
      Cc: Eytan Lifshitz <eytan.lifshitz@intel.com>
      Cc: Ilan Peer <ilan.peer@intel.com>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      8ca151b5