On Wed, Apr 07, 2010 at 11:46:24AM +0200, Manfred Rudigier wrote:
>       switch (config.tx_type) {
>       case HWTSTAMP_TX_OFF:
> +             priv->hwts_tx_en = 0;
>               break;
>       case HWTSTAMP_TX_ON:
> +             if (!(priv->device_flags & FSL_GIANFAR_DEV_HAS_TIMER))
> +                     return -ERANGE;
> +             priv->hwts_tx_en = 1;
>               return -ERANGE;
>       default:
>               return -ERANGE;
> @@ -796,8 +802,12 @@ static int gfar_hwtstamp_ioctl(struct net_device *netdev,
>  
>       switch (config.rx_filter) {
>       case HWTSTAMP_FILTER_NONE:
> +             priv->hwts_rx_en = 0;
>               break;
>       default:
> +             if (!(priv->device_flags & FSL_GIANFAR_DEV_HAS_TIMER))
> +                     return -ERANGE;
> +             priv->hwts_rx_en = 1;
>               return -ERANGE;
>       }

You need to acquire bflock (or avoid using bitfields for this), or you could
race with the setting of wol_en or rx_csum_enable.

-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to