diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2008-11-20 00:47:34 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-20 00:47:34 -0800 |
commit | b2d565365e02947699a8e3d594275662a8d00646 (patch) | |
tree | 8a8edb980df546544276f96f891df2a4e1f51614 | |
parent | 3ef6b2354f5ac340396e47a49b64b8da61ada3b7 (diff) | |
download | talos-obmc-linux-b2d565365e02947699a8e3d594275662a8d00646.tar.gz talos-obmc-linux-b2d565365e02947699a8e3d594275662a8d00646.zip |
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>
-rw-r--r-- | drivers/net/igb/igb_main.c | 6 |
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; } |