igb: simplify swap in clean_rx_irq if using packet split
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 20 Nov 2008 08:47:34 +0000 (00:47 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Nov 2008 08:47:34 +0000 (00:47 -0800)
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>
drivers/net/igb/igb_main.c

index 1026ef402d47d562d5467e717c9325ff43e44996..0d33378edc635f4aa7a7e5ebaa1df445ff657dc6 100644 (file)
@@ -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;
                }