.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (C) ST-Ericsson AB 2010 |
---|
3 | 4 | * Author: Daniel Martensson |
---|
4 | 5 | * Dmitry.Tarnyagin / dmitry.tarnyagin@lockless.no |
---|
5 | | - * License terms: GNU General Public License (GPL) version 2. |
---|
6 | 6 | */ |
---|
7 | 7 | |
---|
8 | 8 | #define pr_fmt(fmt) KBUILD_MODNAME fmt |
---|
.. | .. |
---|
458 | 458 | skb_reset_mac_header(skb); |
---|
459 | 459 | skb->dev = cfhsi->ndev; |
---|
460 | 460 | |
---|
461 | | - /* |
---|
462 | | - * We are in a callback handler and |
---|
463 | | - * unfortunately we don't know what context we're |
---|
464 | | - * running in. |
---|
465 | | - */ |
---|
466 | | - if (in_interrupt()) |
---|
467 | | - netif_rx(skb); |
---|
468 | | - else |
---|
469 | | - netif_rx_ni(skb); |
---|
| 461 | + netif_rx_any_context(skb); |
---|
470 | 462 | |
---|
471 | 463 | /* Update network statistics. */ |
---|
472 | 464 | cfhsi->ndev->stats.rx_packets++; |
---|
.. | .. |
---|
587 | 579 | skb_reset_mac_header(skb); |
---|
588 | 580 | skb->dev = cfhsi->ndev; |
---|
589 | 581 | |
---|
590 | | - /* |
---|
591 | | - * We're called in callback from HSI |
---|
592 | | - * and don't know the context we're running in. |
---|
593 | | - */ |
---|
594 | | - if (in_interrupt()) |
---|
595 | | - netif_rx(skb); |
---|
596 | | - else |
---|
597 | | - netif_rx_ni(skb); |
---|
| 582 | + netif_rx_any_context(skb); |
---|
598 | 583 | |
---|
599 | 584 | /* Update network statistics. */ |
---|
600 | 585 | cfhsi->ndev->stats.rx_packets++; |
---|
.. | .. |
---|
1006 | 991 | cfhsi_start_tx(cfhsi); |
---|
1007 | 992 | } |
---|
1008 | 993 | |
---|
1009 | | -static int cfhsi_xmit(struct sk_buff *skb, struct net_device *dev) |
---|
| 994 | +static netdev_tx_t cfhsi_xmit(struct sk_buff *skb, struct net_device *dev) |
---|
1010 | 995 | { |
---|
1011 | 996 | struct cfhsi *cfhsi = NULL; |
---|
1012 | 997 | int start_xfer = 0; |
---|
.. | .. |
---|
1072 | 1057 | spin_unlock_bh(&cfhsi->lock); |
---|
1073 | 1058 | if (aggregate_ready) |
---|
1074 | 1059 | cfhsi_start_tx(cfhsi); |
---|
1075 | | - return 0; |
---|
| 1060 | + return NETDEV_TX_OK; |
---|
1076 | 1061 | } |
---|
1077 | 1062 | |
---|
1078 | 1063 | /* Delete inactivity timer if started. */ |
---|
.. | .. |
---|
1102 | 1087 | queue_work(cfhsi->wq, &cfhsi->wake_up_work); |
---|
1103 | 1088 | } |
---|
1104 | 1089 | |
---|
1105 | | - return 0; |
---|
| 1090 | + return NETDEV_TX_OK; |
---|
1106 | 1091 | } |
---|
1107 | 1092 | |
---|
1108 | 1093 | static const struct net_device_ops cfhsi_netdevops; |
---|