> +void rmnet_vnd_setup(struct net_device *rmnet_dev)
> +{
> +     struct rmnet_priv *priv;
> +
> +     /* Clear out private data */
> +     priv = netdev_priv(rmnet_dev);
> +     memset(priv, 0, sizeof(struct rmnet_priv));

Netdev private area is always zero on creation. See alloc_netdev().


> +struct rmnet_endpoint *rmnet_vnd_get_endpoint(struct net_device *rmnet_dev)
> +{
> +     struct rmnet_priv *priv;
> +
> +     if (!rmnet_dev)
> +             return 0;

Do not confuse 0 with NULL. Did you run sparse?

> +
> +     priv = netdev_priv(rmnet_dev);
> +     if (!priv)
> +             return 0;


netdev_priv() always returns a non-NULL value.  The private area is just
a constant offset below the original network_device structure.

Reply via email to