diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2008-11-20 03:47:34 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-20 03:47:34 -0500 |
commit | b2d565365e02947699a8e3d594275662a8d00646 (patch) | |
tree | 8a8edb980df546544276f96f891df2a4e1f51614 /drivers | |
parent | 3ef6b2354f5ac340396e47a49b64b8da61ada3b7 (diff) |
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')
-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: | |||
3926 | next_buffer = &rx_ring->buffer_info[i]; | 3926 | next_buffer = &rx_ring->buffer_info[i]; |
3927 | 3927 | ||
3928 | if (!(staterr & E1000_RXD_STAT_EOP)) { | 3928 | if (!(staterr & E1000_RXD_STAT_EOP)) { |
3929 | buffer_info->skb = xchg(&next_buffer->skb, skb); | 3929 | buffer_info->skb = next_buffer->skb; |
3930 | buffer_info->dma = xchg(&next_buffer->dma, 0); | 3930 | buffer_info->dma = next_buffer->dma; |
3931 | next_buffer->skb = skb; | ||
3932 | next_buffer->dma = 0; | ||
3931 | goto next_desc; | 3933 | goto next_desc; |
3932 | } | 3934 | } |
3933 | 3935 | ||