diff options
Diffstat (limited to 'net/atm/clip.c')
-rw-r--r-- | net/atm/clip.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/net/atm/clip.c b/net/atm/clip.c index e65a3b1477f8..64629c354343 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c | |||
@@ -267,7 +267,7 @@ static void clip_neigh_error(struct neighbour *neigh, struct sk_buff *skb) | |||
267 | kfree_skb(skb); | 267 | kfree_skb(skb); |
268 | } | 268 | } |
269 | 269 | ||
270 | static struct neigh_ops clip_neigh_ops = { | 270 | static const struct neigh_ops clip_neigh_ops = { |
271 | .family = AF_INET, | 271 | .family = AF_INET, |
272 | .solicit = clip_neigh_solicit, | 272 | .solicit = clip_neigh_solicit, |
273 | .error_report = clip_neigh_error, | 273 | .error_report = clip_neigh_error, |
@@ -360,7 +360,8 @@ static int clip_encap(struct atm_vcc *vcc, int mode) | |||
360 | return 0; | 360 | return 0; |
361 | } | 361 | } |
362 | 362 | ||
363 | static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | 363 | static netdev_tx_t clip_start_xmit(struct sk_buff *skb, |
364 | struct net_device *dev) | ||
364 | { | 365 | { |
365 | struct clip_priv *clip_priv = PRIV(dev); | 366 | struct clip_priv *clip_priv = PRIV(dev); |
366 | struct atmarp_entry *entry; | 367 | struct atmarp_entry *entry; |
@@ -373,7 +374,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
373 | printk(KERN_ERR "clip_start_xmit: skb_dst(skb) == NULL\n"); | 374 | printk(KERN_ERR "clip_start_xmit: skb_dst(skb) == NULL\n"); |
374 | dev_kfree_skb(skb); | 375 | dev_kfree_skb(skb); |
375 | dev->stats.tx_dropped++; | 376 | dev->stats.tx_dropped++; |
376 | return 0; | 377 | return NETDEV_TX_OK; |
377 | } | 378 | } |
378 | if (!skb_dst(skb)->neighbour) { | 379 | if (!skb_dst(skb)->neighbour) { |
379 | #if 0 | 380 | #if 0 |
@@ -387,7 +388,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
387 | printk(KERN_ERR "clip_start_xmit: NO NEIGHBOUR !\n"); | 388 | printk(KERN_ERR "clip_start_xmit: NO NEIGHBOUR !\n"); |
388 | dev_kfree_skb(skb); | 389 | dev_kfree_skb(skb); |
389 | dev->stats.tx_dropped++; | 390 | dev->stats.tx_dropped++; |
390 | return 0; | 391 | return NETDEV_TX_OK; |
391 | } | 392 | } |
392 | entry = NEIGH2ENTRY(skb_dst(skb)->neighbour); | 393 | entry = NEIGH2ENTRY(skb_dst(skb)->neighbour); |
393 | if (!entry->vccs) { | 394 | if (!entry->vccs) { |
@@ -402,7 +403,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
402 | dev_kfree_skb(skb); | 403 | dev_kfree_skb(skb); |
403 | dev->stats.tx_dropped++; | 404 | dev->stats.tx_dropped++; |
404 | } | 405 | } |
405 | return 0; | 406 | return NETDEV_TX_OK; |
406 | } | 407 | } |
407 | pr_debug("neigh %p, vccs %p\n", entry, entry->vccs); | 408 | pr_debug("neigh %p, vccs %p\n", entry, entry->vccs); |
408 | ATM_SKB(skb)->vcc = vcc = entry->vccs->vcc; | 409 | ATM_SKB(skb)->vcc = vcc = entry->vccs->vcc; |
@@ -421,14 +422,14 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
421 | old = xchg(&entry->vccs->xoff, 1); /* assume XOFF ... */ | 422 | old = xchg(&entry->vccs->xoff, 1); /* assume XOFF ... */ |
422 | if (old) { | 423 | if (old) { |
423 | printk(KERN_WARNING "clip_start_xmit: XOFF->XOFF transition\n"); | 424 | printk(KERN_WARNING "clip_start_xmit: XOFF->XOFF transition\n"); |
424 | return 0; | 425 | return NETDEV_TX_OK; |
425 | } | 426 | } |
426 | dev->stats.tx_packets++; | 427 | dev->stats.tx_packets++; |
427 | dev->stats.tx_bytes += skb->len; | 428 | dev->stats.tx_bytes += skb->len; |
428 | vcc->send(vcc, skb); | 429 | vcc->send(vcc, skb); |
429 | if (atm_may_send(vcc, 0)) { | 430 | if (atm_may_send(vcc, 0)) { |
430 | entry->vccs->xoff = 0; | 431 | entry->vccs->xoff = 0; |
431 | return 0; | 432 | return NETDEV_TX_OK; |
432 | } | 433 | } |
433 | spin_lock_irqsave(&clip_priv->xoff_lock, flags); | 434 | spin_lock_irqsave(&clip_priv->xoff_lock, flags); |
434 | netif_stop_queue(dev); /* XOFF -> throttle immediately */ | 435 | netif_stop_queue(dev); /* XOFF -> throttle immediately */ |
@@ -440,7 +441,7 @@ static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
440 | of the brief netif_stop_queue. If this isn't true or if it | 441 | of the brief netif_stop_queue. If this isn't true or if it |
441 | changes, use netif_wake_queue instead. */ | 442 | changes, use netif_wake_queue instead. */ |
442 | spin_unlock_irqrestore(&clip_priv->xoff_lock, flags); | 443 | spin_unlock_irqrestore(&clip_priv->xoff_lock, flags); |
443 | return 0; | 444 | return NETDEV_TX_OK; |
444 | } | 445 | } |
445 | 446 | ||
446 | static int clip_mkip(struct atm_vcc *vcc, int timeout) | 447 | static int clip_mkip(struct atm_vcc *vcc, int timeout) |