From 58a188a9a8e3b453306b46e06cdbced6d50107d3 Mon Sep 17 00:00:00 2001 From: Arik Nemtsov Date: Thu, 30 Aug 2012 22:07:57 +0300 Subject: P2P: prefer operating channels where HT40 is possible When no other user preference is specified, opt to use an operating channel that allows HT40 operation. This way, if driver capabilities and regulatory constraints allow, we might enjoy increased bandwidth. Signed-hostap: Arik Nemtsov --- src/p2p/p2p_go_neg.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src') diff --git a/src/p2p/p2p_go_neg.c b/src/p2p/p2p_go_neg.c index 407897b..8c2ad3a 100644 --- a/src/p2p/p2p_go_neg.c +++ b/src/p2p/p2p_go_neg.c @@ -366,6 +366,21 @@ static void p2p_reselect_channel(struct p2p_data *p2p, } } + /* Try a channel where we might be able to use HT40 */ + for (i = 0; i < intersection->reg_classes; i++) { + struct p2p_reg_class *c = &intersection->reg_class[i]; + if (c->reg_class == 116 || c->reg_class == 117 || + c->reg_class == 126 || c->reg_class == 127) { + wpa_msg(p2p->cfg->msg_ctx, MSG_DEBUG, + "P2P: Pick possible HT40 channel (reg_class " + "%u channel %u) from intersection", + c->reg_class, c->channel[0]); + p2p->op_reg_class = c->reg_class; + p2p->op_channel = c->channel[0]; + return; + } + } + /* * Try to see if the original channel is in the intersection. If * so, no need to change anything, as it already contains some -- cgit v1.1