i40evf: remove leftover VLAN filters
authorMitch A Williams <mitch.a.williams@intel.com>
Tue, 9 Dec 2014 08:53:05 +0000 (08:53 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 13 Jan 2015 19:47:42 +0000 (11:47 -0800)
If we're using VLANs and communications with the PF fail during
shutdown, we will leak memory because not all of the VLAN filters will
be removed. To eliminate this possibility, go through the list again
right before the module is removed and delete any leftover entries.

Change-ID: Id3b5315c47ca0a61ae123a96ff345d010bc41aed
Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40evf/i40evf_main.c

index d339256..994ae4e 100644 (file)
@@ -2462,6 +2462,10 @@ static void i40evf_remove(struct pci_dev *pdev)
                list_del(&f->list);
                kfree(f);
        }
+       list_for_each_entry_safe(f, ftmp, &adapter->vlan_filter_list, list) {
+               list_del(&f->list);
+               kfree(f);
+       }
 
        free_netdev(netdev);