On 26.04.2018 23:54, Luc Van Oostenryck wrote:
> The method ndo_start_xmit() is defined as returning an 'netdev_tx_t',
> which is a typedef for an enum type, but the implementation in this
> driver returns an 'int'.
> 
> Fix this by returning 'netdev_tx_t' in this driver too
> and accordingly change 'return 0;' by 'return NETDEV_TX_OK;'
> 
> Signed-off-by: Luc Van Oostenryck <luc.vanoostenr...@gmail.com>
> ---
>  drivers/staging/wilc1000/linux_wlan.c | 8 ++++----
>  drivers/staging/wilc1000/wilc_wlan.h  | 2 +-
>  2 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/wilc1000/linux_wlan.c 
> b/drivers/staging/wilc1000/linux_wlan.c
> index 38a83bd31..d95b9750b 100644
> --- a/drivers/staging/wilc1000/linux_wlan.c
> +++ b/drivers/staging/wilc1000/linux_wlan.c
> @@ -941,7 +941,7 @@ static void linux_wlan_tx_complete(void *priv, int status)
>       kfree(pv_data);
>  }
>  
> -int wilc_mac_xmit(struct sk_buff *skb, struct net_device *ndev)
> +netdev_tx_t wilc_mac_xmit(struct sk_buff *skb, struct net_device *ndev)

Greg already applied your first version of this patch
"staging/wilc1000: fix wilc_mac_xmit()'s return type" so I will send a new
patch with only the "return NETDEV_TX_OK" changes.

And you can also add:
Reviewed-by: Claudiu Beznea <claudiu.bez...@microchip.com>

>  {
>       struct wilc_vif *vif;
>       struct tx_complete_data *tx_data = NULL;
> @@ -956,14 +956,14 @@ int wilc_mac_xmit(struct sk_buff *skb, struct 
> net_device *ndev)
>  
>       if (skb->dev != ndev) {
>               netdev_err(ndev, "Packet not destined to this device\n");
> -             return 0;
> +             return NETDEV_TX_OK;
>       }
>  
>       tx_data = kmalloc(sizeof(*tx_data), GFP_ATOMIC);
>       if (!tx_data) {
>               dev_kfree_skb(skb);
>               netif_wake_queue(ndev);
> -             return 0;
> +             return NETDEV_TX_OK;
>       }
>  
>       tx_data->buff = skb->data;
> @@ -994,7 +994,7 @@ int wilc_mac_xmit(struct sk_buff *skb, struct net_device 
> *ndev)
>               netif_stop_queue(wilc->vif[1]->ndev);
>       }
>  
> -     return 0;
> +     return NETDEV_TX_OK;
>  }
>  
>  static int wilc_mac_close(struct net_device *ndev)
> diff --git a/drivers/staging/wilc1000/wilc_wlan.h 
> b/drivers/staging/wilc1000/wilc_wlan.h
> index fa157a67b..d3b5a6b38 100644
> --- a/drivers/staging/wilc1000/wilc_wlan.h
> +++ b/drivers/staging/wilc1000/wilc_wlan.h
> @@ -298,7 +298,7 @@ void wilc_chip_sleep_manually(struct wilc *wilc);
>  
>  void wilc_enable_tcp_ack_filter(bool value);
>  int wilc_wlan_get_num_conn_ifcs(struct wilc *wilc);
> -int wilc_mac_xmit(struct sk_buff *skb, struct net_device *dev);
> +netdev_tx_t wilc_mac_xmit(struct sk_buff *skb, struct net_device *dev);
>  
>  void WILC_WFI_p2p_rx(struct net_device *dev, u8 *buff, u32 size);
>  void host_wakeup_notify(struct wilc *wilc);
> 
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to