aboutsummaryrefslogtreecommitdiffstats
path: root/net/atm/clip.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/atm/clip.c')
-rw-r--r--net/atm/clip.c17
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
270static struct neigh_ops clip_neigh_ops = { 270static 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
363static int clip_start_xmit(struct sk_buff *skb, struct net_device *dev) 363static 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
446static int clip_mkip(struct atm_vcc *vcc, int timeout) 447static int clip_mkip(struct atm_vcc *vcc, int timeout)