1. 15 10月, 2011 2 次提交
  2. 22 9月, 2011 2 次提交
  3. 30 8月, 2011 1 次提交
  4. 21 7月, 2011 1 次提交
    • J
      iwlagn: rewrite HW crypto · 5a3d9882
      Johannes Berg 提交于
      As I just discovered while doing WoWLAN, HW crypto
      is done wrong for GTKs: they should be programmed
      for the AP station ID (in the managed mode case)
      and the HW can actually deal with multiple group
      keys per station as well (which is useful in IBSS
      RSN but that I've chosen not to use this).
      
      To fix all this, modify the way keys are sent to
      the device and key offsets are allocated. After
      these changes, key offsets are stored into the
      hw_key_idx which we can then track for the key
      lifetime, not relying on our sta_cmd array. WEP
      default keys get special treatment, of course.
      
      Additionally, since I had the API for it, we can
      now pre-fill TKIP phase 1 keys for RX now that we
      can obtain the P1K from mac80211, a capability I
      had added for WoWLAN initially.
      
      Finally, some keys simply don't need to be added
      into the device's key cache -- a key that won't
      be used for RX is only needed in the TX header,
      so "pretend" to have accepted any key without
      adding it into the device -- no need to use up
      key space there for it.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      5a3d9882
  5. 08 4月, 2011 1 次提交
  6. 16 11月, 2010 1 次提交
  7. 08 10月, 2010 1 次提交
    • J
      iwlwifi: move agn specific station code there · a30e3112
      Johannes Berg 提交于
      By duplicating a little bit of code between 3945
      and agn, we can move a lot of code into an agn
      specific station management file and thus reduce
      the amount of code in core that is dead to 3945.
      
      before:
         text	   data	    bss	    dec	    hex	filename
       212886	   3872	     96	 216854	  34f16	iwlcore.ko
       620542	  10448	    304	 631294	  9a1fe	iwlagn.ko
       314013	   3264	    196	 317473	  4d821	iwl3945.ko
      
      after:
         text	   data	    bss	    dec	    hex	filename
       202857	   3872	     92	 206821	  327e5	iwlcore.ko
       629102	  10448	    308	 639858	  9c372	iwlagn.ko
       314240	   3264	    196	 317700	  4d904	iwl3945.ko
      
      delta:
       -10029   iwlcore.ko
         8560   iwlagn.ko
          227   iwl3945.ko
      
      so it's a net win even if you have both loaded,
      likely because a lot of EXPORT_SYMBOLs go away.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NWey-Yi Guy <wey-yi.w.guy@intel.com>
      a30e3112
  8. 28 8月, 2010 3 次提交
  9. 27 8月, 2010 2 次提交
  10. 03 7月, 2010 1 次提交
  11. 26 6月, 2010 1 次提交
  12. 22 6月, 2010 1 次提交
  13. 14 5月, 2010 1 次提交
  14. 11 5月, 2010 12 次提交
  15. 10 4月, 2010 1 次提交
  16. 20 3月, 2010 2 次提交
    • R
      iwlwifi: implement new mac80211 station add/remove calls · fe6b23dd
      Reinette Chatre 提交于
      mac80211 recently implemented two new callbacks that are used to request
      station add/remove from the driver. The benefot from these new callbacks
      are that they enable the driver to sleep while performing this work.
      
      This is a big patch since a few things need to be coordinated in this move.
      First we need to decouple station management from rate scaling, which
      caused a lot of code to be moved and/or deleted. Next we needed to tie in
      with mac80211's station management callback and let it direct our station
      management as well as trigger the rate scaling initialization.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      fe6b23dd
    • R
      iwlwifi: only add broadcast station once · 7e246191
      Reinette Chatre 提交于
      Currently the broadcast station is added after every RXON command. Change
      this to only add the broadcast station when interface is added by mac80211.
      With this we need some extra work to ensure broadcast station is always
      present since station table is cleared when RXON without ASSOC bit set is
      sent. To deal with this we re-add all driver known stations to uCode after
      such an RXON command is sent.
      
      We also do some cleanup and remove the various calls to clear the station
      table. We now only clear the station table in two scenarios:
      - only clear uCode portion of station table when RXON command without ASSOC
      bit is sent
      - clear uCode and driver portion when interface goes down or is removed.
      
      We need to do this clearing when interface goes down to deal with the
      device restart/reconfigure routines which do not remove the interface, but
      do add the interface during reconfiguration.
      
      Previously the keys were also cleared when station table in driver is
      cleared, this is not done anymore since mac80211 will take care that keys
      are set and cleared correctly.
      
      There is a known issue with this change. Associating with different AP
      without bringing interface down fails with a firmware error. This is
      because of the lack of full station notification support and the later
      patches in this series that complete the station notification support will
      fix this.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      7e246191
  17. 26 1月, 2010 1 次提交
    • R
      iwlwifi: make broadcast station addition generic · 3459ab5a
      Reinette Chatre 提交于
      Add function pointer for broadcast station addition so that we can call it
      in from iwlcore at a later time. We only distinguish between iwlagn and
      iwl3945 broadcast station addition. For the iwl3945 station addition we add
      that function to iwlcore since that is where most station functionality
      resides, making it part of iwl3945 will require significant code
      reorganization that will dilute station management functionality. This
      seems to be an efficient solution.
      
      It may seem as though we are removing error checking when adding the 3945
      broadcast station but this error checking was never really necessary since
      the function returns the station id and the broadcast station id is always
      set.
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      3459ab5a
  18. 20 1月, 2010 1 次提交
  19. 19 11月, 2009 1 次提交
    • J
      iwlwifi: handle unicast PS buffering · 6ab10ff8
      Johannes Berg 提交于
      Using the new mac80211 functionality, this makes
      iwlwifi handle unicast PS buffering correctly.
      The device works like this:
      
       * when a station goes to sleep, the microcode notices
         this and marks the station as asleep
       * when the station is marked asleep, the microcode
         refuses to transmit to the station and rejects all
         frames queued to it with the failure status code
         TX_STATUS_FAIL_DEST_PS (a previous patch handled
         this correctly)
       * when we need to send frames to the station _although_
         it is asleep, we need to tell the ucode how many,
         and this is asynchronous with sending so we cannot
         just send the frames, we need to wait for all other
         frames to be flushed, and then update the counter
         before sending out the poll response frames. This
         is handled partially in the driver and partially in
         mac80211.
      
      In order to do all this correctly, we need to
       * keep track of how many frames are pending for each
         associated client station (avoid doing it for other
         stations to avoid the atomic ops)
       * tell mac80211 that we driver-block the PS status
         while there are still frames pending on the queues,
         and once they are all rejected (due to the dest sta
         being in PS) unblock mac80211
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6ab10ff8
  20. 03 11月, 2009 1 次提交
  21. 04 6月, 2009 1 次提交
  22. 06 3月, 2009 1 次提交
  23. 30 1月, 2009 1 次提交