Skip to content

Commit

Permalink
ath9k: Mix the received FFT bins to the random pool
Browse files Browse the repository at this point in the history
E/M noise is a pretty good source of entropy so we mix the FFT
measurements of the E/M spectrum to /dev/random pool. Note that
this doesn't increase the pool's entropy count but it still helps
on improving the output of /dev/(u)random.

Signed-off-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  • Loading branch information
Nick Kossifidis authored and Kalle Valo committed May 9, 2015
1 parent 3ea2ce3 commit 2aa56cc
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion drivers/net/wireless/ath/ath9k/common-spectral.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
*/

#include <linux/relay.h>
#include <linux/random.h>
#include "ath9k.h"

static s8 fix_rssi_inv_only(u8 rssi_val)
Expand Down Expand Up @@ -647,13 +648,24 @@ int ath_cmn_process_fft(struct ath_spec_scan_priv *spec_priv, struct ieee80211_h
tsf, freq, chan_type);

memset(sample_buf, 0, SPECTRAL_SAMPLE_MAX_LEN);

/* Mix the received bins to the /dev/random
* pool
*/
add_device_randomness(sample_buf, num_bins);
}

/* Process a normal frame */
if (sample_bytes == sample_len)
if (sample_bytes == sample_len) {
ret = fft_handler(rs, spec_priv, sample_start,
tsf, freq, chan_type);

/* Mix the received bins to the /dev/random
* pool
*/
add_device_randomness(sample_start, num_bins);
}

/* Short report processed, break out of the
* loop.
*/
Expand Down

0 comments on commit 2aa56cc

Please sign in to comment.