aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-trans.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans.h13
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 83f04c9d77e..e8ab8d8ca48 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 */
184struct iwl_host_cmd { 186struct 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
199static 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 *