forked from Minki/linux
b3e5bf1ff3
Previously, the check to turn on promiscuous mode only took into account the total number of SHared Receive Address (SHRA) registers and if the request was for a register within that range. It is possible that the Management Engine might have locked a number of SHRA and not allowed a new address to be written to the requested register. Add a function to determine the number of unlocked SHRA registers. Then determine if the number of registers available is sufficient for our needs, if not then return -ENOMEM so that UNICAST PROMISC mode is activated. Since the method by which ME claims SHRA registers is non-deterministic, also add a return value to the function attempting to write an address to a SHRA, and return a -E1000_ERR_CONFIG if the write fails. The error will be passed up the function chain and allow the driver to also set UNICAST PROMISC when this happens. Cc: Vlad Yasevich <vyasevic@redhat.com> Signed-off-by: Dave Ertman <davidx.m.ertman@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
||
---|---|---|
.. | ||
80003es2lan.c | ||
80003es2lan.h | ||
82571.c | ||
82571.h | ||
defines.h | ||
e1000.h | ||
ethtool.c | ||
hw.h | ||
ich8lan.c | ||
ich8lan.h | ||
mac.c | ||
mac.h | ||
Makefile | ||
manage.c | ||
manage.h | ||
netdev.c | ||
nvm.c | ||
nvm.h | ||
param.c | ||
phy.c | ||
phy.h | ||
ptp.c | ||
regs.h |