iwlagn: move sync_irq to transport layer
Since all the irq / tasklet is now handled in the transport layer, it should give an API to ensure that all the irq / tasklet have finished running. This will allow the upper layer to release all its resources. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
34c1b7ba12
commit
a27367d25d
6 changed files with 20 additions and 10 deletions
|
@ -1243,6 +1243,10 @@ struct iwl_trans;
|
|||
* @tx_free: frees the tx memory
|
||||
* @send_cmd:send a host command
|
||||
* @send_cmd_pdu:send a host command: flags can be CMD_*
|
||||
* @sync_irq: the upper layer will typically disable interrupt and call this
|
||||
* handler. After this handler returns, it is guaranteed that all
|
||||
* the ISR / tasklet etc... have finished running and the transport
|
||||
* layer shall not pass any Rx.
|
||||
* @free: release all the ressource for the transport layer itself such as
|
||||
* irq, tasklet etc...
|
||||
*/
|
||||
|
@ -1264,6 +1268,7 @@ struct iwl_trans_ops {
|
|||
struct iwl_tx_cmd *tx_cmd, int txq_id, __le16 fc, bool ampdu,
|
||||
struct iwl_rxon_context *ctx);
|
||||
|
||||
void (*sync_irq)(struct iwl_priv *priv);
|
||||
void (*free)(struct iwl_priv *priv);
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue