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.