From owner-freebsd-wireless@FreeBSD.ORG Wed Mar 21 17:28:23 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 D5D20106564A; Wed, 21 Mar 2012 17:28:23 +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 A21AB8FC0A; Wed, 21 Mar 2012 17:28:23 +0000 (UTC) Received: by dald2 with SMTP id d2so2153868dal.13 for ; Wed, 21 Mar 2012 10:28:23 -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=6Ozn8GmMl+Igu72JHodGqNGi6dbXoYO58Ol2xnYx5Dc=; b=0HsXL81YFsVNhFY/YokGcAVdtvrASi/mEIwQj9zBoS92tDyJ7Oue0jUQncp2iIC0VI NVFNW+06924lDZAFcv4QC88m5dNOQ5Y2/+URQU1kOTAKp/a2vD7Gk7x5bkd71np0wElw eiYryNoJYoruwCLmeVA61Ow67xCJ4zX6BbSGMxqmQjMCkc285ah5XtII5nb4qlB2JgrQ GW6s+dNq9kRESA9z6APmx9S9pUt8dFfQkF3hhzvWuwXfRbVUmV+n9einI1QvkTIcVZ2R 2uPvbmLK/F9nEaRJsyyzH6S2NGygiMNbcPQAiqpUGdeaeL4EOFebUgDoc22JcEArZgCy T8Pw== MIME-Version: 1.0 Received: by 10.68.234.195 with SMTP id ug3mr13580265pbc.4.1332350903248; Wed, 21 Mar 2012 10:28:23 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.143.33.5 with HTTP; Wed, 21 Mar 2012 10:28:23 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Mar 2012 10:28:23 -0700 X-Google-Sender-Auth: 0XQnMd0uZ2OS6yUHB_c-hKurLBs Message-ID: From: Adrian Chadd To: freebsd-wireless@freebsd.org, Bernhard Schmidt Content-Type: text/plain; charset=ISO-8859-1 Cc: 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: Wed, 21 Mar 2012 17:28:23 -0000 On 20 March 2012 20:24, Adrian Chadd wrote: > Hi, > > This patch forces a channel change - sta_recv_mgmt() doesn't set the > channel width early enough to catch it after the ASSOC -> RUN state > change. So there's a transition to HT20 upon association, but it > doesn't transition to HT40 via ic_chan_set(). Thus the hardware is in > HT20 mode, but HT40 frames are sent to the hardware .They obviously > fail. Bernhard and I had a chat on IRC. The main problem with this approach is that any other devices (eg iwn) don't do anything in their ic_chan_set() method. I also thought about it a bit more and can see how the gap between the htinfo update and notifying the driver could be quite annoying. That said, there _are_ plenty of races in net80211 at the moment as things go poking through the ic/vap state without holding locks. SMP and preemption makes this all quite scary. Adrian