| From bd7597ca7468c06ba2d3794e522ddf29416a7eb7 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 19 Sep 2018 18:32:40 +0800 |
| Subject: net: xilinx: fix return type of ndo_start_xmit function |
| |
| From: YueHaibing <yuehaibing@huawei.com> |
| |
| [ Upstream commit 81255af8d9d5565004792c295dde49344df450ca ] |
| |
| The method ndo_start_xmit() is defined as returning an 'netdev_tx_t', |
| which is a typedef for an enum type, so make sure the implementation in |
| this driver has returns 'netdev_tx_t' value, and change the function |
| return type to netdev_tx_t. |
| |
| Found by coccinelle. |
| |
| Signed-off-by: YueHaibing <yuehaibing@huawei.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/net/ethernet/xilinx/ll_temac_main.c | 3 ++- |
| drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 3 ++- |
| drivers/net/ethernet/xilinx/xilinx_emaclite.c | 9 +++++---- |
| 3 files changed, 9 insertions(+), 6 deletions(-) |
| |
| diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c |
| index 60abc9250f56a..2241f98970926 100644 |
| --- a/drivers/net/ethernet/xilinx/ll_temac_main.c |
| +++ b/drivers/net/ethernet/xilinx/ll_temac_main.c |
| @@ -674,7 +674,8 @@ static inline int temac_check_tx_bd_space(struct temac_local *lp, int num_frag) |
| return 0; |
| } |
| |
| -static int temac_start_xmit(struct sk_buff *skb, struct net_device *ndev) |
| +static netdev_tx_t |
| +temac_start_xmit(struct sk_buff *skb, struct net_device *ndev) |
| { |
| struct temac_local *lp = netdev_priv(ndev); |
| struct cdmac_bd *cur_p; |
| diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c |
| index 66b30ebd45ee8..28764268a44f8 100644 |
| --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c |
| +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c |
| @@ -657,7 +657,8 @@ static inline int axienet_check_tx_bd_space(struct axienet_local *lp, |
| * start the transmission. Additionally if checksum offloading is supported, |
| * it populates AXI Stream Control fields with appropriate values. |
| */ |
| -static int axienet_start_xmit(struct sk_buff *skb, struct net_device *ndev) |
| +static netdev_tx_t |
| +axienet_start_xmit(struct sk_buff *skb, struct net_device *ndev) |
| { |
| u32 ii; |
| u32 num_frag; |
| diff --git a/drivers/net/ethernet/xilinx/xilinx_emaclite.c b/drivers/net/ethernet/xilinx/xilinx_emaclite.c |
| index 42f1f518dad69..c77c81eb7ab3b 100644 |
| --- a/drivers/net/ethernet/xilinx/xilinx_emaclite.c |
| +++ b/drivers/net/ethernet/xilinx/xilinx_emaclite.c |
| @@ -1020,9 +1020,10 @@ static int xemaclite_close(struct net_device *dev) |
| * deferred and the Tx queue is stopped so that the deferred socket buffer can |
| * be transmitted when the Emaclite device is free to transmit data. |
| * |
| - * Return: 0, always. |
| + * Return: NETDEV_TX_OK, always. |
| */ |
| -static int xemaclite_send(struct sk_buff *orig_skb, struct net_device *dev) |
| +static netdev_tx_t |
| +xemaclite_send(struct sk_buff *orig_skb, struct net_device *dev) |
| { |
| struct net_local *lp = netdev_priv(dev); |
| struct sk_buff *new_skb; |
| @@ -1044,7 +1045,7 @@ static int xemaclite_send(struct sk_buff *orig_skb, struct net_device *dev) |
| /* Take the time stamp now, since we can't do this in an ISR. */ |
| skb_tx_timestamp(new_skb); |
| spin_unlock_irqrestore(&lp->reset_lock, flags); |
| - return 0; |
| + return NETDEV_TX_OK; |
| } |
| spin_unlock_irqrestore(&lp->reset_lock, flags); |
| |
| @@ -1053,7 +1054,7 @@ static int xemaclite_send(struct sk_buff *orig_skb, struct net_device *dev) |
| dev->stats.tx_bytes += len; |
| dev_consume_skb_any(new_skb); |
| |
| - return 0; |
| + return NETDEV_TX_OK; |
| } |
| |
| /** |
| -- |
| 2.20.1 |
| |