提交 ef5ab89c 编写于 作者: B Bruce Allan 提交者: Jeff Kirsher

e1000e: use dev_kfree_skb_irq() instead of dev_kfree_skb()

Based on a report and patch originally submitted by Prasanna Panchamukhi.

Use dev_kfree_skb_irq() in e1000_clean_jumbo_rx_irq() since this latter
function is called only in interrupt context.  This avoids "Warning:
kfree_skb on hard IRQ" messages.

Cc: "Prasanna S. Panchamukhi" <prasanna.panchamukhi@riverbed.com>
Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
上级 23633b13
...@@ -1322,7 +1322,7 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter, ...@@ -1322,7 +1322,7 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
/* an error means any chain goes out the window /* an error means any chain goes out the window
* too */ * too */
if (rx_ring->rx_skb_top) if (rx_ring->rx_skb_top)
dev_kfree_skb(rx_ring->rx_skb_top); dev_kfree_skb_irq(rx_ring->rx_skb_top);
rx_ring->rx_skb_top = NULL; rx_ring->rx_skb_top = NULL;
goto next_desc; goto next_desc;
} }
...@@ -1395,7 +1395,7 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter, ...@@ -1395,7 +1395,7 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
/* eth type trans needs skb->data to point to something */ /* eth type trans needs skb->data to point to something */
if (!pskb_may_pull(skb, ETH_HLEN)) { if (!pskb_may_pull(skb, ETH_HLEN)) {
e_err("pskb_may_pull failed.\n"); e_err("pskb_may_pull failed.\n");
dev_kfree_skb(skb); dev_kfree_skb_irq(skb);
goto next_desc; goto next_desc;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册