diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h index 83f04c9d77e5..e8ab8d8ca484 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans.h | |||
@@ -173,7 +173,9 @@ enum iwl_hcmd_dataflag { | |||
173 | * struct iwl_host_cmd - Host command to the uCode | 173 | * struct iwl_host_cmd - Host command to the uCode |
174 | * | 174 | * |
175 | * @data: array of chunks that composes the data of the host command | 175 | * @data: array of chunks that composes the data of the host command |
176 | * @reply_page: pointer to the page that holds the response to the host command | 176 | * @resp_pkt: response packet, if %CMD_WANT_SKB was set |
177 | * @_rx_page_order: (internally used to free response packet) | ||
178 | * @_rx_page_addr: (internally used to free response packet) | ||
177 | * @handler_status: return value of the handler of the command | 179 | * @handler_status: return value of the handler of the command |
178 | * (put in setup_rx_handlers) - valid for SYNC mode only | 180 | * (put in setup_rx_handlers) - valid for SYNC mode only |
179 | * @flags: can be CMD_* | 181 | * @flags: can be CMD_* |
@@ -183,7 +185,9 @@ enum iwl_hcmd_dataflag { | |||
183 | */ | 185 | */ |
184 | struct iwl_host_cmd { | 186 | struct iwl_host_cmd { |
185 | const void *data[IWL_MAX_CMD_TFDS]; | 187 | const void *data[IWL_MAX_CMD_TFDS]; |
186 | unsigned long reply_page; | 188 | struct iwl_rx_packet *resp_pkt; |
189 | unsigned long _rx_page_addr; | ||
190 | u32 _rx_page_order; | ||
187 | int handler_status; | 191 | int handler_status; |
188 | 192 | ||
189 | u32 flags; | 193 | u32 flags; |
@@ -192,6 +196,11 @@ struct iwl_host_cmd { | |||
192 | u8 id; | 196 | u8 id; |
193 | }; | 197 | }; |
194 | 198 | ||
199 | static inline void iwl_free_resp(struct iwl_host_cmd *cmd) | ||
200 | { | ||
201 | free_pages(cmd->_rx_page_addr, cmd->_rx_page_order); | ||
202 | } | ||
203 | |||
195 | /** | 204 | /** |
196 | * struct iwl_trans_ops - transport specific operations | 205 | * struct iwl_trans_ops - transport specific operations |
197 | * | 206 | * |