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

Commit 8fa74e3a authored by Johannes Berg's avatar Johannes Berg
Browse files

Merge branch 'mac80211' into mac80211-next



This was needed to avoid conflicts in the minstrel changes.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parents b08cc24e 11b2357d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3522,7 +3522,7 @@ static int ieee80211_cfg_get_channel(struct wiphy *wiphy,
	rcu_read_lock();
	chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
	if (chanctx_conf) {
		*chandef = chanctx_conf->def;
		*chandef = sdata->vif.bss_conf.chandef;
		ret = 0;
	} else if (local->open_count > 0 &&
		   local->open_count == local->monitors &&
+1 −1
Original line number Diff line number Diff line
@@ -448,7 +448,7 @@ static void rate_fixup_ratelist(struct ieee80211_vif *vif,
	 */
	if (!(rates[0].flags & IEEE80211_TX_RC_MCS)) {
		u32 basic_rates = vif->bss_conf.basic_rates;
		s8 baserate = basic_rates ? ffs(basic_rates - 1) : 0;
		s8 baserate = basic_rates ? ffs(basic_rates) - 1 : 0;

		rate = &sband->bitrates[rates[0].idx];

+7 −5
Original line number Diff line number Diff line
@@ -62,14 +62,14 @@ minstrel_stats_open(struct inode *inode, struct file *file)
	unsigned int i, tp, prob, eprob;
	char *p;

	ms = kmalloc(sizeof(*ms) + 4096, GFP_KERNEL);
	ms = kmalloc(2048, GFP_KERNEL);
	if (!ms)
		return -ENOMEM;

	file->private_data = ms;
	p = ms->buf;
	p += sprintf(p, "rate      throughput  ewma prob  this prob  "
			"this succ/attempt   success    attempts\n");
	p += sprintf(p, "rate          tpt eprob *prob"
			"  *ok(*cum)        ok(      cum)\n");
	for (i = 0; i < mi->n_rates; i++) {
		struct minstrel_rate *mr = &mi->r[i];
		struct minstrel_rate_stats *mrs = &mi->r[i].stats;
@@ -86,8 +86,8 @@ minstrel_stats_open(struct inode *inode, struct file *file)
		prob = MINSTREL_TRUNC(mrs->cur_prob * 1000);
		eprob = MINSTREL_TRUNC(mrs->probability * 1000);

		p += sprintf(p, "  %6u.%1u   %6u.%1u   %6u.%1u        "
				"   %3u(%3u)  %8llu    %8llu\n",
		p += sprintf(p, " %4u.%1u %3u.%1u %3u.%1u"
				" %4u(%4u) %9llu(%9llu)\n",
				tp / 10, tp % 10,
				eprob / 10, eprob % 10,
				prob / 10, prob % 10,
@@ -102,6 +102,8 @@ minstrel_stats_open(struct inode *inode, struct file *file)
			mi->sample_packets);
	ms->len = p - ms->buf;

	WARN_ON(ms->len + sizeof(*ms) > 2048);

	return 0;
}

+8 −5
Original line number Diff line number Diff line
@@ -63,8 +63,8 @@ minstrel_ht_stats_dump(struct minstrel_ht_sta *mi, int i, char *p)
		prob = MINSTREL_TRUNC(mr->cur_prob * 1000);
		eprob = MINSTREL_TRUNC(mr->probability * 1000);

		p += sprintf(p, "      %6u.%1u   %6u.%1u    %6u.%1u    "
				"%3u            %3u(%3u)  %8llu    %8llu\n",
		p += sprintf(p, " %4u.%1u %3u.%1u %3u.%1u "
				"%3u %4u(%4u) %9llu(%9llu)\n",
				tp / 10, tp % 10,
				eprob / 10, eprob % 10,
				prob / 10, prob % 10,
@@ -96,14 +96,15 @@ minstrel_ht_stats_open(struct inode *inode, struct file *file)
		return ret;
	}

	ms = kmalloc(sizeof(*ms) + 8192, GFP_KERNEL);
	ms = kmalloc(8192, GFP_KERNEL);
	if (!ms)
		return -ENOMEM;

	file->private_data = ms;
	p = ms->buf;
	p += sprintf(p, "type           rate     throughput  ewma prob   "
		     "this prob  retry   this succ/attempt   success    attempts\n");
	p += sprintf(p, "type           rate     tpt eprob *prob "
			"ret  *ok(*cum)        ok(      cum)\n");


	p = minstrel_ht_stats_dump(mi, max_mcs, p);
	for (i = 0; i < max_mcs; i++)
@@ -118,6 +119,8 @@ minstrel_ht_stats_open(struct inode *inode, struct file *file)
		MINSTREL_TRUNC(mi->avg_ampdu_len * 10) % 10);
	ms->len = p - ms->buf;

	WARN_ON(ms->len + sizeof(*ms) > 8192);

	return nonseekable_open(inode, file);
}

+1 −0
Original line number Diff line number Diff line
@@ -336,6 +336,7 @@ struct ieee80211_tx_latency_stat {
 * @known_smps_mode: the smps_mode the client thinks we are in. Relevant for
 *	AP only.
 * @cipher_scheme: optional cipher scheme for this station
 * @last_tdls_pkt_time: holds the time in jiffies of last TDLS pkt ACKed
 */
struct sta_info {
	/* General information, mostly static */
Loading