Thread (13 messages) flat view 13 messages, 4 authors, 2012-05-17

Re: [net-next 3/4] e1000: look in the page and not in skb->data for the last byte

From: Jeff Kirsher <hidden>
Date: 2012-05-17 11:50:19

On Thu, 2012-05-17 at 13:38 +0200, Sebastian Andrzej Siewior wrote:
On 05/17/2012 01:27 PM, Jeff Kirsher wrote:
quoted
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index fefbf4d..6ac80c8 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -4066,7 +4066,11 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
  		/* errors is only valid for DD + EOP descriptors */
  		if (unlikely((status&  E1000_RXD_STAT_EOP)&&
  		(rx_desc->errors&  E1000_RXD_ERR_FRAME_ERR_MASK))) {
-			u8 last_byte = *(skb->data + length - 1);
+			u8 *mapped;
+			u8 last_byte;
+
+			mapped = kmap_atomic(buffer_info->page);
+			last_byte = *(mapped + length - 1);
  			if (TBI_ACCEPT(hw, status, rx_desc->errors, length,
  				       last_byte)) {
  				spin_lock_irqsave(&adapter->stats_lock,
This is not what I've sent. My original patch [0] hat a unmap as well. 
One comment was, that kmap_atomic() is too much overhead because the 
page can never be highmem. So I changed it to page_address() [1].

[0] http://permalink.gmane.org/gmane.linux.drivers.e1000.devel/10008
[1] http://permalink.gmane.org/gmane.linux.drivers.e1000.devel/10012

Sebastian
Your correct, I apologize.  This was my fault, I applied your v1 of the
patch and then realized there was a v2.

I will re-send the series with the correct patch.

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help