I believe that the Nordic fork of hostap (https://github.com/nrfconnect/sdk-hostap) has a bug in os.h:
typedef uint64_t os_time_t;
The upstream has that defined as long (signed).
As unsigned-64, the time comparison routines do not work correctly (os_reltime_sub(), for example, will not adjust sec/usec correctly).
The fix should just be to change it to (signed) int64_t.