From owner-freebsd-wireless@FreeBSD.ORG Thu Mar 22 01:29:30 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 6ACC51065674 for ; Thu, 22 Mar 2012 01:29:30 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by mx1.freebsd.org (Postfix) with ESMTP id 3C6CC8FC0A for ; Thu, 22 Mar 2012 01:29:29 +0000 (UTC) Received: by dald2 with SMTP id d2so2707051dal.13 for ; Wed, 21 Mar 2012 18:29:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=b7aPIVUX8EtCLs9oAjAo52A7nBcdOZ4+Cyr0L37fauI=; b=QMy3eookPIv5ijGkLDwLfaP35hiJkctGKH6AN3SlXL6wcvPw1Dp6PHukSmm9PiQOF8 4YyYrInIECakM2VlCawirTUwjzeFuLXmdzCDL3BNIqLwDGCQODVnZvmdnz37zG3+56A+ y36p3Vx0KHUMq3hEvzPT6YViHe/tHnL5LoQe9AbxcGbWeUbVFuJMrN4D7iUT0XWUu8FF 8JiiSs5mZ+kqazGBknSCRkcY2wdQP6SJbdtUe81MOp/hskd4+xJVSIlKqtbfpCbp/42I 4A4ZfCboYA+qY0elD4yvHGsSfCeDAfIutO1jHi6u4O7thRlzZ3Qh1kWKxaJj9ODAFypX xVSw== MIME-Version: 1.0 Received: by 10.68.231.66 with SMTP id te2mr16352148pbc.42.1332379769756; Wed, 21 Mar 2012 18:29:29 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.143.33.5 with HTTP; Wed, 21 Mar 2012 18:29:29 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Mar 2012 18:29:29 -0700 X-Google-Sender-Auth: FXlI4gjmp1JwZZb104ZqXUcqOlw Message-ID: From: Adrian Chadd To: freebsd-wireless@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [net80211] PR kern/166286: force a channel change upon a HT info change X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2012 01:29:30 -0000 Hi, Here's a second patch. This patch: * Implements a channel width change taskqueue event; * Queues this event whenever a channel width change occurs from beacon frames; * Added a simple change to if_ath to call ath_chan_set() upon receipt of a channel width notification. TODO: * Move the chw routines from ieee80211_node.c/ieee80211_proto.c into ieee80211_ht.c; * Test it with CSAs to ensure we don't get multiple channel changes that aren't necessary. This seems simpler than adding a new state. But, hm, I can't help but wonder whether the correct thing to do here is add a new state that transitions ASSOC -> CHW -> ASSOC. Also there may be other htinfo changes - eg, if an AP decides to change from enabling to disabling RIFS. That currently isn't handled. Adrian