From 1c697b2dee1a8169a087f24e1f5796fd2c1cd7f6 Mon Sep 17 00:00:00 2001 From: Emmanuel Grumbach Date: Wed, 23 Jan 2013 10:59:29 +0200 Subject: [PATCH] --- yaml --- r: 352137 b: refs/heads/master c: d13f1862c0ad892eded4cdf633ab32bc993cc1d9 h: refs/heads/master i: 352135: 95e6d6cdd5d2685f91e39bc83c6bde3c5e40738e v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-trans.h | 6 ++++++ trunk/drivers/net/wireless/iwlwifi/pcie/rx.c | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 78075d7da14e..38d0d3f54766 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 128e63ef077ef7ccd9c5779bbdce566641714666 +refs/heads/master: d13f1862c0ad892eded4cdf633ab32bc993cc1d9 diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl-trans.h b/trunk/drivers/net/wireless/iwlwifi/iwl-trans.h index fca5fec4ea6d..ce878b9dda8c 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl-trans.h +++ b/trunk/drivers/net/wireless/iwlwifi/iwl-trans.h @@ -274,6 +274,7 @@ struct iwl_rx_cmd_buffer { struct page *_page; int _offset; bool _page_stolen; + u32 _rx_page_order; unsigned int truesize; }; @@ -294,6 +295,11 @@ static inline struct page *rxb_steal_page(struct iwl_rx_cmd_buffer *r) return r->_page; } +static inline void iwl_free_rxb(struct iwl_rx_cmd_buffer *r) +{ + __free_pages(r->_page, r->_rx_page_order); +} + #define MAX_NO_RECLAIM_CMDS 6 #define IWL_MASK(lo, hi) ((1 << (hi)) | ((1 << (hi)) - (1 << (lo)))) diff --git a/trunk/drivers/net/wireless/iwlwifi/pcie/rx.c b/trunk/drivers/net/wireless/iwlwifi/pcie/rx.c index b694d13fa308..a2f351779941 100644 --- a/trunk/drivers/net/wireless/iwlwifi/pcie/rx.c +++ b/trunk/drivers/net/wireless/iwlwifi/pcie/rx.c @@ -594,6 +594,7 @@ static void iwl_pcie_rx_handle_rb(struct iwl_trans *trans, int index, cmd_index, err, len; struct iwl_rx_cmd_buffer rxcb = { ._offset = offset, + ._rx_page_order = trans_pcie->rx_page_order, ._page = rxb->page, ._page_stolen = false, .truesize = max_len,