• Arnd Bergmann's avatar
    mwifiex: avoid gettimeofday in ba_threshold setting · 52f4f918
    Arnd Bergmann authored
    mwifiex_get_random_ba_threshold() uses a complex homegrown implementation
    to generate a pseudo-random number from the current time as returned
    from do_gettimeofday().
    
    This currently requires two 32-bit divisions plus a couple of other
    computations that are eventually discarded as only eight bits of
    the microsecond portion are used at all.
    
    We could replace this with a call to get_random_bytes(), but that
    might drain the entropy pool too fast if this is called for each
    packet.
    
    Instead, this patch converts it to use ktime_get_ns(), which is a
    bit faster than do_gettimeofday(), and then uses a similar algorithm
    as before, but in a way that takes both the nanosecond and second
    portion into account for slightly-more-but-still-not-very-random
    pseudorandom number.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Cc: Amitkumar Karwar <akarwar@marvell.com>
    Cc: Nishant Sarmukadam <nishants@marvell.com>
    Cc: Kalle Valo <kvalo@codeaurora.org>
    Cc: linux-wireless@vger.kernel.org
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    52f4f918
wmm.c 40.4 KB