Skip to content

Commit

Permalink
igb: retire the RX_CSUM flag and use the netdev flag instead
Browse files Browse the repository at this point in the history
Since the netdev now has its' own checksum flag to indicate if Rx checksum
is enabled we might as well use that instead of using the ring flag.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by:  Aaron Brown  <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
  • Loading branch information
Alexander Duyck authored and Jeff Kirsher committed Oct 8, 2011
1 parent 4be000c commit 294e7d7
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 17 deletions.
1 change: 0 additions & 1 deletion drivers/net/ethernet/intel/igb/igb.h
Original file line number Diff line number Diff line change
Expand Up @@ -245,7 +245,6 @@ struct igb_ring {
};

enum e1000_ring_flags_t {
IGB_RING_FLAG_RX_CSUM,
IGB_RING_FLAG_RX_SCTP_CSUM,
IGB_RING_FLAG_TX_CTX_IDX,
IGB_RING_FLAG_TX_DETECT_HANG
Expand Down
22 changes: 6 additions & 16 deletions drivers/net/ethernet/intel/igb/igb_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -732,8 +732,6 @@ static int igb_alloc_queues(struct igb_adapter *adapter)
ring->dev = &adapter->pdev->dev;
ring->netdev = adapter->netdev;
ring->numa_node = adapter->node;
/* enable rx checksum */
set_bit(IGB_RING_FLAG_RX_CSUM, &ring->flags);
/* set flag indicating ring supports SCTP checksum offload */
if (adapter->hw.mac.type >= e1000_82576)
set_bit(IGB_RING_FLAG_RX_SCTP_CSUM, &ring->flags);
Expand Down Expand Up @@ -1811,19 +1809,8 @@ static u32 igb_fix_features(struct net_device *netdev, u32 features)

static int igb_set_features(struct net_device *netdev, u32 features)
{
struct igb_adapter *adapter = netdev_priv(netdev);
int i;
u32 changed = netdev->features ^ features;

for (i = 0; i < adapter->num_rx_queues; i++) {
if (features & NETIF_F_RXCSUM)
set_bit(IGB_RING_FLAG_RX_CSUM,
&adapter->rx_ring[i]->flags);
else
clear_bit(IGB_RING_FLAG_RX_CSUM,
&adapter->rx_ring[i]->flags);
}

if (changed & NETIF_F_HW_VLAN_RX)
igb_vlan_mode(netdev, features);

Expand Down Expand Up @@ -5807,9 +5794,12 @@ static inline void igb_rx_checksum(struct igb_ring *ring,
{
skb_checksum_none_assert(skb);

/* Ignore Checksum bit is set or checksum is disabled through ethtool */
if (!test_bit(IGB_RING_FLAG_RX_CSUM, &ring->flags) ||
(status_err & E1000_RXD_STAT_IXSM))
/* Ignore Checksum bit is set */
if (status_err & E1000_RXD_STAT_IXSM)
return;

/* Rx checksum disabled via ethtool */
if (!(ring->netdev->features & NETIF_F_RXCSUM))
return;

/* TCP/UDP checksum error bit is set */
Expand Down

0 comments on commit 294e7d7

Please sign in to comment.