|
@@ -2535,21 +2535,6 @@ netdev_features_t netif_skb_features(struct sk_buff *skb)
|
|
}
|
|
}
|
|
EXPORT_SYMBOL(netif_skb_features);
|
|
EXPORT_SYMBOL(netif_skb_features);
|
|
|
|
|
|
-/*
|
|
|
|
- * Returns true if either:
|
|
|
|
- * 1. skb has frag_list and the device doesn't support FRAGLIST, or
|
|
|
|
- * 2. skb is fragmented and the device does not support SG.
|
|
|
|
- */
|
|
|
|
-static inline int skb_needs_linearize(struct sk_buff *skb,
|
|
|
|
- netdev_features_t features)
|
|
|
|
-{
|
|
|
|
- return skb_is_nonlinear(skb) &&
|
|
|
|
- ((skb_has_frag_list(skb) &&
|
|
|
|
- !(features & NETIF_F_FRAGLIST)) ||
|
|
|
|
- (skb_shinfo(skb)->nr_frags &&
|
|
|
|
- !(features & NETIF_F_SG)));
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
|
|
int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
|
|
struct netdev_queue *txq, void *accel_priv)
|
|
struct netdev_queue *txq, void *accel_priv)
|
|
{
|
|
{
|