diff options
author | Eric Dumazet <eric.dumazet@gmail.com> | 2011-10-18 17:00:24 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-10-19 03:10:46 -0400 |
commit | 9e903e085262ffbf1fc44a17ac06058aca03524a (patch) | |
tree | 4acefc97ba38c1733474d25c0b2053b56af97db1 /drivers/net/ethernet/intel | |
parent | dd767856a36e00b631d65ebc4bb81b19915532d6 (diff) |
net: add skb frag size accessors
To ease skb->truesize sanitization, its better to be able to localize
all references to skb frags size.
Define accessors : skb_frag_size() to fetch frag size, and
skb_frag_size_{set|add|sub}() to manipulate it.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel')
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igb/igb_main.c | 2 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/igbvf/netdev.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgb/ixgb_main.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 6 |
7 files changed, 16 insertions, 16 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 7b54d7246150..cf480b554622 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c | |||
@@ -2894,10 +2894,10 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
2894 | } | 2894 | } |
2895 | 2895 | ||
2896 | for (f = 0; f < nr_frags; f++) { | 2896 | for (f = 0; f < nr_frags; f++) { |
2897 | struct skb_frag_struct *frag; | 2897 | const struct skb_frag_struct *frag; |
2898 | 2898 | ||
2899 | frag = &skb_shinfo(skb)->frags[f]; | 2899 | frag = &skb_shinfo(skb)->frags[f]; |
2900 | len = frag->size; | 2900 | len = skb_frag_size(frag); |
2901 | offset = 0; | 2901 | offset = 0; |
2902 | 2902 | ||
2903 | while (len) { | 2903 | while (len) { |
@@ -3183,7 +3183,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb, | |||
3183 | 3183 | ||
3184 | nr_frags = skb_shinfo(skb)->nr_frags; | 3184 | nr_frags = skb_shinfo(skb)->nr_frags; |
3185 | for (f = 0; f < nr_frags; f++) | 3185 | for (f = 0; f < nr_frags; f++) |
3186 | count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size, | 3186 | count += TXD_USE_COUNT(skb_frag_size(&skb_shinfo(skb)->frags[f]), |
3187 | max_txd_pwr); | 3187 | max_txd_pwr); |
3188 | if (adapter->pcix_82544) | 3188 | if (adapter->pcix_82544) |
3189 | count += nr_frags; | 3189 | count += nr_frags; |
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index 035ce73c388e..680312710a78 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -4673,10 +4673,10 @@ static int e1000_tx_map(struct e1000_adapter *adapter, | |||
4673 | } | 4673 | } |
4674 | 4674 | ||
4675 | for (f = 0; f < nr_frags; f++) { | 4675 | for (f = 0; f < nr_frags; f++) { |
4676 | struct skb_frag_struct *frag; | 4676 | const struct skb_frag_struct *frag; |
4677 | 4677 | ||
4678 | frag = &skb_shinfo(skb)->frags[f]; | 4678 | frag = &skb_shinfo(skb)->frags[f]; |
4679 | len = frag->size; | 4679 | len = skb_frag_size(frag); |
4680 | offset = 0; | 4680 | offset = 0; |
4681 | 4681 | ||
4682 | while (len) { | 4682 | while (len) { |
@@ -4943,7 +4943,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb, | |||
4943 | 4943 | ||
4944 | nr_frags = skb_shinfo(skb)->nr_frags; | 4944 | nr_frags = skb_shinfo(skb)->nr_frags; |
4945 | for (f = 0; f < nr_frags; f++) | 4945 | for (f = 0; f < nr_frags; f++) |
4946 | count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size, | 4946 | count += TXD_USE_COUNT(skb_frag_size(&skb_shinfo(skb)->frags[f]), |
4947 | max_txd_pwr); | 4947 | max_txd_pwr); |
4948 | 4948 | ||
4949 | if (adapter->hw.mac.tx_pkt_filtering) | 4949 | if (adapter->hw.mac.tx_pkt_filtering) |
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index 837adbbce772..f9b818267de8 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c | |||
@@ -4268,7 +4268,7 @@ static void igb_tx_map(struct igb_ring *tx_ring, | |||
4268 | i = 0; | 4268 | i = 0; |
4269 | } | 4269 | } |
4270 | 4270 | ||
4271 | size = frag->size; | 4271 | size = skb_frag_size(frag); |
4272 | data_len -= size; | 4272 | data_len -= size; |
4273 | 4273 | ||
4274 | dma = skb_frag_dma_map(tx_ring->dev, frag, 0, | 4274 | dma = skb_frag_dma_map(tx_ring->dev, frag, 0, |
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index 23cc40f22d6f..1bd9abddcc59 100644 --- a/drivers/net/ethernet/intel/igbvf/netdev.c +++ b/drivers/net/ethernet/intel/igbvf/netdev.c | |||
@@ -2045,7 +2045,7 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter, | |||
2045 | 2045 | ||
2046 | 2046 | ||
2047 | for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) { | 2047 | for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) { |
2048 | struct skb_frag_struct *frag; | 2048 | const struct skb_frag_struct *frag; |
2049 | 2049 | ||
2050 | count++; | 2050 | count++; |
2051 | i++; | 2051 | i++; |
@@ -2053,7 +2053,7 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter, | |||
2053 | i = 0; | 2053 | i = 0; |
2054 | 2054 | ||
2055 | frag = &skb_shinfo(skb)->frags[f]; | 2055 | frag = &skb_shinfo(skb)->frags[f]; |
2056 | len = frag->size; | 2056 | len = skb_frag_size(frag); |
2057 | 2057 | ||
2058 | buffer_info = &tx_ring->buffer_info[i]; | 2058 | buffer_info = &tx_ring->buffer_info[i]; |
2059 | BUG_ON(len >= IGBVF_MAX_DATA_PER_TXD); | 2059 | BUG_ON(len >= IGBVF_MAX_DATA_PER_TXD); |
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c index 88558b1aac07..e21148f8b160 100644 --- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c +++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c | |||
@@ -1383,10 +1383,10 @@ ixgb_tx_map(struct ixgb_adapter *adapter, struct sk_buff *skb, | |||
1383 | } | 1383 | } |
1384 | 1384 | ||
1385 | for (f = 0; f < nr_frags; f++) { | 1385 | for (f = 0; f < nr_frags; f++) { |
1386 | struct skb_frag_struct *frag; | 1386 | const struct skb_frag_struct *frag; |
1387 | 1387 | ||
1388 | frag = &skb_shinfo(skb)->frags[f]; | 1388 | frag = &skb_shinfo(skb)->frags[f]; |
1389 | len = frag->size; | 1389 | len = skb_frag_size(frag); |
1390 | offset = 0; | 1390 | offset = 0; |
1391 | 1391 | ||
1392 | while (len) { | 1392 | while (len) { |
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index 8075d11b4cde..09b8e88b2999 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -6545,9 +6545,9 @@ static void ixgbe_tx_map(struct ixgbe_ring *tx_ring, | |||
6545 | 6545 | ||
6546 | frag = &skb_shinfo(skb)->frags[f]; | 6546 | frag = &skb_shinfo(skb)->frags[f]; |
6547 | #ifdef IXGBE_FCOE | 6547 | #ifdef IXGBE_FCOE |
6548 | size = min_t(unsigned int, data_len, frag->size); | 6548 | size = min_t(unsigned int, data_len, skb_frag_size(frag)); |
6549 | #else | 6549 | #else |
6550 | size = frag->size; | 6550 | size = skb_frag_size(frag); |
6551 | #endif | 6551 | #endif |
6552 | data_len -= size; | 6552 | data_len -= size; |
6553 | f++; | 6553 | f++; |
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index 4930c4605493..5e92cc2079bd 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | |||
@@ -2912,10 +2912,10 @@ static int ixgbevf_tx_map(struct ixgbevf_adapter *adapter, | |||
2912 | } | 2912 | } |
2913 | 2913 | ||
2914 | for (f = 0; f < nr_frags; f++) { | 2914 | for (f = 0; f < nr_frags; f++) { |
2915 | struct skb_frag_struct *frag; | 2915 | const struct skb_frag_struct *frag; |
2916 | 2916 | ||
2917 | frag = &skb_shinfo(skb)->frags[f]; | 2917 | frag = &skb_shinfo(skb)->frags[f]; |
2918 | len = min((unsigned int)frag->size, total); | 2918 | len = min((unsigned int)skb_frag_size(frag), total); |
2919 | offset = 0; | 2919 | offset = 0; |
2920 | 2920 | ||
2921 | while (len) { | 2921 | while (len) { |
@@ -3096,7 +3096,7 @@ static int ixgbevf_xmit_frame(struct sk_buff *skb, struct net_device *netdev) | |||
3096 | 3096 | ||
3097 | count += TXD_USE_COUNT(skb_headlen(skb)); | 3097 | count += TXD_USE_COUNT(skb_headlen(skb)); |
3098 | for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) | 3098 | for (f = 0; f < skb_shinfo(skb)->nr_frags; f++) |
3099 | count += TXD_USE_COUNT(skb_shinfo(skb)->frags[f].size); | 3099 | count += TXD_USE_COUNT(skb_frag_size(&skb_shinfo(skb)->frags[f])); |
3100 | 3100 | ||
3101 | if (ixgbevf_maybe_stop_tx(netdev, tx_ring, count)) { | 3101 | if (ixgbevf_maybe_stop_tx(netdev, tx_ring, count)) { |
3102 | adapter->tx_busy++; | 3102 | adapter->tx_busy++; |