The code seems to want to look at the last byte where the HW puts some
information. Since the skb->data area is never seen by the HW I guess it
does not work as expected. We pass the page address to the HW so I
*think* in order to get to the last byte where the information might be
one should use the page buffer and take a look.
This is of course not more than just compile tested.

Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
---
 drivers/net/ethernet/intel/e1000/e1000_main.c |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c 
b/drivers/net/ethernet/intel/e1000/e1000_main.c
index edd3504..31ef609 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -4046,7 +4046,12 @@ 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);
+                       kunmap_atomic(mapped);
                        if (TBI_ACCEPT(hw, status, rx_desc->errors, length,
                                       last_byte)) {
                                spin_lock_irqsave(&adapter->stats_lock,
-- 
1.7.10


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel&#174; Ethernet, visit 
http://communities.intel.com/community/wired

Reply via email to