]> git.baikalelectronics.ru Git - kernel.git/commit
i40e: delete filter after adding its replacement when converting
authorJacob Keller <jacob.e.keller@intel.com>
Fri, 11 Nov 2016 20:39:28 +0000 (12:39 -0800)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 7 Dec 2016 05:25:19 +0000 (21:25 -0800)
commitc0683cf497b7fd25a2abf5cd05ae47b922e3da65
tree74f8ea8f6b60c120fe9a3d5c23ec3aa7604f25e4
parentda79810a148c24fca61fcbdb7576b345e44d3614
i40e: delete filter after adding its replacement when converting

Fix a subtle issue with the code for converting VID=-1 filters into VID=0
filters when adding a new VLAN. Previously the code deleted the VID=-1
filter, and then added a new VID=0 filter. In the rare case that the
addition fails due to -ENOMEM, we end up completely deleting the filter
which prevents recovery if memory pressure subsides. While it is not
strictly an issue because it is likely that memory issues would result
in many other problems, we shouldn't delete the filter until after the
addition succeeds.

Change-ID: Icba07ddd04ecc6a3b27c2e29f2c1c8673d266826
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c