Re: [SKY2]: Fix VLAN unregistration
From: Patrick McHardy <hidden>
Date: 2007-05-29 10:57:46
Ben Greear wrote:
Patrick McHardy wrote:quoted
Fix sky2 disabling VLAN completely when the first vid is unregistered. For some reason the VLAN code insists on the driver providing a vlan_rx_kill_vid function even if only NETIF_F_HW_VLAN_RX and not NETIF_F_HW_VLAN_FILTER is set, so this patch keeps an empty function. This seems to be a bug though, vlan_rx_add_vid is only required with NETIF_F_HW_VLAN_FILTER. Ben?I believe DaveM did most of the vlan hw-accel work. It would be easy enough to check for a null function before calling the vlan_rx_kill_vid function and relax the checks based on the flags, but there may be valid reasons to keep this as is.
Most drivers are using vlan_rx_kill_vid to remove a vid from the group under their local local lock, which seems unnecessary since the VLAN code calls synchronize_net before freeing it and also does the removal itself. A few others have empty functions and 8139cp seems to have the same bug as sky2. In all cases it doesn't seem to be needed for drivers without NETIF_F_HW_VLAN_FILTER.