mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-06 13:55:08 +08:00
a07fd74d5e
If two consecutive reads of the counter are the same, it is also not an overflow. "systimel_1 < systimel_2" should be "systimel_1 <= systimel_2". Before the patch, we could perform an *erroneous* correction: Let's say that systimel_1 == systimel_2 == 0xffffffff. "systimel_1 < systimel_2" is false, we think it's an overflow, we read "systimeh = er32(SYSTIMH)" which meanwhile had incremented, and use "(systimeh << 32) + systimel_2" value which is 2^32 too large. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com> CC: intel-wired-lan@lists.osuosl.org 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 |