Re: e1000e: can TIMINCA register be zero?
From: Richard Cochran
Date: Tue Apr 19 2016 - 09:07:22 EST
On Tue, Apr 19, 2016 at 12:44:08PM +0200, Denys Vlasenko wrote:
> User says it happens on hotplug.
This sounds familiar.
http://lists.openwall.net/netdev/2016/02/07/90
It also only ever happends in a VM, right?
> In 1000e_config_hwtstamp(), it is initialized before timecounter_init():
...
> By code inspection, e1000e_get_base_timinca() either returns -EINVAL
> and we don't do timecounter_init() and the division/0 location
> is not reached, or e1000e_get_base_timinca(®val) sets
> nonzero regval. Then we set TIMINCA to this nonzero value.
Right, the register is always set to a non-zero value.
> Isn't it fishy that then timecounter_init() -> e1000e_cyclecounter_read()
> -> er32(TIMINCA) sees zero there?
Sure is.
Thanks,
Richard