diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2012-02-09 09:08:15 -0500 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2012-02-27 16:26:58 -0500 |
commit | bcb9321c8db86150004d615e03551911be84685e (patch) | |
tree | 830a0417c9a87a241947037fac3bd30aecf87cfd /drivers/net/wireless/iwlwifi/iwl-op-mode.h | |
parent | 7120d9894c363ee31fd529e5dd962452b639ab8e (diff) |
iwlwifi: virtualize op_mode's fw_error
Export it as "nic_error" notification, the error handling will be in
the op_mode.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-op-mode.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-op-mode.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-op-mode.h b/drivers/net/wireless/iwlwifi/iwl-op-mode.h index 8ce4aac29b0a..e2a780d12467 100644 --- a/drivers/net/wireless/iwlwifi/iwl-op-mode.h +++ b/drivers/net/wireless/iwlwifi/iwl-op-mode.h | |||
@@ -90,6 +90,7 @@ struct iwl_rx_mem_buffer; | |||
90 | * reclaimed by the op_mode. This can happen when the driver is freed and | 90 | * reclaimed by the op_mode. This can happen when the driver is freed and |
91 | * there are Tx packets pending in the transport layer. | 91 | * there are Tx packets pending in the transport layer. |
92 | * Must be atomic | 92 | * Must be atomic |
93 | * @nic_error: error notification. Must be atomic | ||
93 | */ | 94 | */ |
94 | struct iwl_op_mode_ops { | 95 | struct iwl_op_mode_ops { |
95 | struct iwl_op_mode *(*start)(struct iwl_trans *trans); | 96 | struct iwl_op_mode *(*start)(struct iwl_trans *trans); |
@@ -100,6 +101,7 @@ struct iwl_op_mode_ops { | |||
100 | void (*queue_not_full)(struct iwl_op_mode *op_mode, u8 ac); | 101 | void (*queue_not_full)(struct iwl_op_mode *op_mode, u8 ac); |
101 | void (*hw_rf_kill)(struct iwl_op_mode *op_mode, bool state); | 102 | void (*hw_rf_kill)(struct iwl_op_mode *op_mode, bool state); |
102 | void (*free_skb)(struct iwl_op_mode *op_mode, struct sk_buff *skb); | 103 | void (*free_skb)(struct iwl_op_mode *op_mode, struct sk_buff *skb); |
104 | void (*nic_error)(struct iwl_op_mode *op_mode); | ||
103 | }; | 105 | }; |
104 | 106 | ||
105 | /** | 107 | /** |
@@ -151,6 +153,11 @@ static inline void iwl_op_mode_free_skb(struct iwl_op_mode *op_mode, | |||
151 | op_mode->ops->free_skb(op_mode, skb); | 153 | op_mode->ops->free_skb(op_mode, skb); |
152 | } | 154 | } |
153 | 155 | ||
156 | static inline void iwl_op_mode_nic_error(struct iwl_op_mode *op_mode) | ||
157 | { | ||
158 | op_mode->ops->nic_error(op_mode); | ||
159 | } | ||
160 | |||
154 | /***************************************************** | 161 | /***************************************************** |
155 | * Op mode layers implementations | 162 | * Op mode layers implementations |
156 | ******************************************************/ | 163 | ******************************************************/ |