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
[email protected]
https://lists.ozlabs.org/listinfo/linuxppc-dev