Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d21044e authored by Winkler, Tomas's avatar Winkler, Tomas Committed by John W. Linville
Browse files

iwlwifi: fix probe mask for 39 scan API



This pach make use of 39 own scan probe mask
the variables or of different types

Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 17f841cd
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2432,6 +2432,9 @@ struct iwl3945_scan_channel {
	__le16 passive_dwell;	/* in 1024-uSec TU (time units), typ 20-500 */
} __attribute__ ((packed));

/* set number of direct probes u8 type */
#define IWL39_SCAN_PROBE_MASK(n) ((BIT(n) | (BIT(n) - BIT(1))))

struct iwl_scan_channel {
	/*
	 * type is defined as:
@@ -2448,6 +2451,9 @@ struct iwl_scan_channel {
	__le16 passive_dwell;	/* in 1024-uSec TU (time units), typ 20-500 */
} __attribute__ ((packed));

/* set number of direct probes __le32 type */
#define IWL_SCAN_PROBE_MASK(n) 	cpu_to_le32((BIT(n) | (BIT(n) - BIT(1))))

/**
 * struct iwl_ssid_ie - directed scan network information element
 *
+0 −1
Original line number Diff line number Diff line
@@ -346,7 +346,6 @@ int iwl_send_scan_abort(struct iwl_priv *priv);
#define IWL_ACTIVE_QUIET_TIME       __constant_cpu_to_le16(10)  /* msec */
#define IWL_PLCP_QUIET_THRESH       __constant_cpu_to_le16(1)  /* packets */

#define IWL_SCAN_PROBE_MASK(n) 	cpu_to_le32((BIT(n) | (BIT(n) - BIT(1))))

/*******************************************************************************
 * Calibrations - implemented in iwl-calib.c
+2 −2
Original line number Diff line number Diff line
@@ -3267,12 +3267,12 @@ static int iwl3945_get_channels_for_scan(struct iwl_priv *priv,
		 * hearing clear Rx packet).*/
		if (IWL_UCODE_API(priv->ucode_ver) >= 2) {
			if (n_probes)
				scan_ch->type |= IWL_SCAN_PROBE_MASK(n_probes);
				scan_ch->type |= IWL39_SCAN_PROBE_MASK(n_probes);
		} else {
			/* uCode v1 does not allow setting direct probe bits on
			 * passive channel. */
			if ((scan_ch->type & 1) && n_probes)
				scan_ch->type |= IWL_SCAN_PROBE_MASK(n_probes);
				scan_ch->type |= IWL39_SCAN_PROBE_MASK(n_probes);
		}

		/* Set txpower levels to defaults */