From: Madalin Bucur <madalin.bu...@freescale.com>
Date: Thu, 24 Sep 2015 18:00:13 +0300

> +#define DPA_NAPI_WEIGHT              64

This is just the default, so simply use "NAPI_POLL_WEIGHT" rather
than defining your own macro unnecessarily for this.

> +static int dpa_eth_priv_stop(struct net_device *net_dev)
> +{
> +     int err;
> +     struct dpa_priv_s *priv;
> +
> +     err = dpa_stop(net_dev);
> +     /* Allow NAPI to consume any frame still in the Rx/TxConfirm
> +      * ingress queues. This is to avoid a race between the current
> +      * context and ksoftirqd which could leave NAPI disabled while
> +      * in fact there's still Rx traffic to be processed.
> +      */
> +     usleep_range(5000, 10000);

A wait never fixes a race.  Instead you must use appropriate mutual
exclusion mechanisms to ensure that NAPI is really completed it's
run, and we definitely have a means by which to do that properly.

> +     net_dev->hw_features |= (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM |
> +             NETIF_F_LLTX);

This second line should start exactly at the first column after the
openning parenthesis of the first line.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to