OSDN Git Service

iwlwifi: mvm: add Aux ROC request/response flow
authorAriej Marjieh <ariej.marjieh@intel.com>
Wed, 16 Jul 2014 18:11:12 +0000 (21:11 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 22 Jul 2014 16:20:59 +0000 (19:20 +0300)
commitb112889c5af8124e2b6d884d00859fc172c6748a
treeb6f340ee3261ef04f86fd58e5dc4440c1399be8b
parent720befbf2ecce8e5851a816fa567584320d721ec
iwlwifi: mvm: add Aux ROC request/response flow

The Remain On Channel framework added to the firmare is
a bit like time events. It allows the driver to request
the firmware to be on a certain channel for a certain time.
Unlike the time events, the ROC infrastructure doesn't need
a MAC context in the firmware - it uses a generic context
called "auxiliary framework".

This is useful for any offchannel activity that is not bound
to a specific MAC.
The flow is synchronized much like with time events:
1) The driver receives an action frame from the wpa_supplicant
   via nl80211 that requests to be sent offchannel.
2) The driver sends an Aux ROC command (0x53) to the firmware.
3) The firmware responds with the unique id of the time event.
4) When time event starts, the driver puts the frame in the
   Aux queue.

Special care needs to be taken when the time events ends:
the queue needs to be cleaned-up.

Signed-off-by: Ariej Marjieh <ariej.marjieh@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac80211.c
drivers/net/wireless/iwlwifi/mvm/mvm.h
drivers/net/wireless/iwlwifi/mvm/ops.c
drivers/net/wireless/iwlwifi/mvm/time-event.c