summaryrefslogtreecommitdiff
path: root/drivers/net/igb
diff options
context:
space:
mode:
authorAlexander Duyck <alexander.h.duyck@intel.com>2008-11-20 11:47:34 +0300
committerDavid S. Miller <davem@davemloft.net>2008-11-20 11:47:34 +0300
commitb2d565365e02947699a8e3d594275662a8d00646 (patch)
tree8a8edb980df546544276f96f891df2a4e1f51614 /drivers/net/igb
parent3ef6b2354f5ac340396e47a49b64b8da61ada3b7 (diff)
downloadlinux-b2d565365e02947699a8e3d594275662a8d00646.tar.xz
igb: simplify swap in clean_rx_irq if using packet split
This update replaces the xchg calls that were added with a pair of assignments as there is no need for the xchg calls and they were found to cause issues on some architectures. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/igb')
-rw-r--r--drivers/net/igb/igb_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index 1026ef402d47..0d33378edc63 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -3926,8 +3926,10 @@ send_up:
next_buffer = &rx_ring->buffer_info[i];
if (!(staterr & E1000_RXD_STAT_EOP)) {
- buffer_info->skb = xchg(&next_buffer->skb, skb);
- buffer_info->dma = xchg(&next_buffer->dma, 0);
+ buffer_info->skb = next_buffer->skb;
+ buffer_info->dma = next_buffer->dma;
+ next_buffer->skb = skb;
+ next_buffer->dma = 0;
goto next_desc;
}