• Anton Vorontsov's avatar
    gianfar: Revive VLAN support · cd1f55a5
    Anton Vorontsov authored
    commit 77ecaf2d ("gianfar: Fix VLAN
    HW feature related frame/buffer size calculation") wrongly removed
    priv->vlgrp assignment, and now priv->vlgrp is always NULL.
    
    This patch fixes the issue, plus fixes following sparse warning
    introduced by the same commit:
    gianfar.c:1406:13: warning: context imbalance in 'gfar_vlan_rx_register' - wrong count at exit
    
    gfar_vlan_rx_register() checks for "if (old_grp == grp)" and tries
    to return w/o dropping the lock.
    
    According to net/8021q/vlan.c VLAN core issues rx_register() callback:
    1. In register_vlan_dev() only on a newly created group;
    2. In unregister_vlan_dev() only if the group becomes empty.
    
    Thus the check in the gianfar driver isn't needed.
    Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
    Acked-by: default avatarAndy Fleming <afleming@freescale.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    cd1f55a5
gianfar.c 60 KB