Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp2926114pxk; Mon, 21 Sep 2020 00:02:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwBCrJ7tLxxHCJQaqSiA3C6dlJDL0YHdrLynWufVgY3BKJEjHctqIcNmLWTOn7yfavesM9P X-Received: by 2002:a50:f1d1:: with SMTP id y17mr49093887edl.231.1600671743281; Mon, 21 Sep 2020 00:02:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1600671743; cv=none; d=google.com; s=arc-20160816; b=M1WFaIJ7aixh4gSNh51bS9uzrRFmmsJrvhFSo5DQxg6uIVo1PjrLTVZerrhfdOKfEz U4mQd4bB0ZkTnTbb9P9T96eQcVXzzQ+rnBl3+KrPnG69+Vs4yLbKEIBdWXctVwCOlx2z EC6cnv0nU2JED/OkNyhYbzdV9+6FhKLAgsGBuI8uvisLX/MKC0bCzX1cCGq2VFdJf0q4 ldGvulPLvwz1MjAsa8ujzFT4rZSe54L4+152e5ZjIn/rliuulbZ4uRDgBLMC7RTJhRz0 KC6yG/21hU5bOa9lPIslC7aq2WMbW2pa4vo6OHAru1tKYYPSDs7x9OiEl9k81ZE+HpTf j8Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=KIUfAxH3WHk3TaUmJSD5L/NOuztmZLltH4E5aU1thUw=; b=OVLw3SwEJFAWkNRUuSdJ/SkZhNoJmvZ2z/OLjAJJ3r2xIKr66BTff2qRcOPNwvFgA/ +akMdLxNRLdvvTRfxO8MaTgp4qsS4dcylvR2aKFcvsdYaloOQA4JCO4xmLcIZGsjV/0T FzW/TV8CIeBVtX7JJUNl6g7wzwPUY8FZV+51vJX0aK2nfUnxrnOgepm1mKZlypZbwT2I feKLNDWBwdqJYSCiRSSqcdXlwP6KFeJsZaHx5FwZjH9xrRasQnkAM354uLVf8E++NQvr 9PXYtei3igFfHfalVhFCLQBFdBWtgqU3zT0YqZGVwMOrLo7VYSC0qWpAG58BhRL/Z8C4 tF0w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b36si7741035edf.526.2020.09.21.00.01.59; Mon, 21 Sep 2020 00:02:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726384AbgIUHBt (ORCPT + 99 others); Mon, 21 Sep 2020 03:01:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726011AbgIUHBs (ORCPT ); Mon, 21 Sep 2020 03:01:48 -0400 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C0CB3C061755 for ; Mon, 21 Sep 2020 00:01:48 -0700 (PDT) Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94) (envelope-from ) id 1kKFpb-0084OK-4X; Mon, 21 Sep 2020 09:01:47 +0200 Message-ID: Subject: Re: [PATCH v2 06/22] {cfg,mac}80211: get correct default channel width for S1G From: Johannes Berg To: Thomas Pedersen Cc: linux-wireless Date: Mon, 21 Sep 2020 09:01:46 +0200 In-Reply-To: <18730e757068a05f6531ea204791eae8@adapt-ip.com> References: <20200831205600.21058-1-thomas@adapt-ip.com> <20200831205600.21058-7-thomas@adapt-ip.com> <18730e757068a05f6531ea204791eae8@adapt-ip.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.36.5 (3.36.5-1.fc32) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On Sun, 2020-09-20 at 21:59 -0700, Thomas Pedersen wrote: > > > default: > > /* fall back to 20 MHz for unsupported modes */ > > cfg80211_chandef_create(&chandef, cbss->channel, > > NL80211_CHAN_NO_HT); > > Yes, but then what would we pass to cfg80211_chandef_create()? I'd say we just shouldn't call it if there's a chance that it's an S1G channel? > We should > probably avoid adding an additional NL80211_CHAN_S1G if enum > nl80211_channel_type is legacy. Agree. > It seems like NL80211_CHAN_NO_HT is often used as "give me the default > channel width". See cfg80211_get_chandef_type() when it throws up its > hands > and returns NL80211_CHAN_NO_HT when encountering an unknown > chandef->width. > Also IBSS passes NL80211_CHAN_NO_HT when the BSS is actually 5 or 10MHz. Yeah, agree it's a bit of a mess, but I'm not really in favour of keeping that mess :) Also, that's a WARN_ON() there, so the NL80211_CHAN_NO_HT isn't meant to be anything *valid* in that case, just a value that doesn't cause crashes or other bad behaviour further down the road if we hit that path. > Maybe (instead of adding a new nl80211_channel_type) > cfg80211_chandef_create() throws a warning if anything but > NL80211_CHAN_NO_HT > is passed with an S1G frequency? I'd literally just add cfg80211_chandef_create_s1g() and just not have the argument at all? Or just fill the chandef manually, but of course that's a bit tedious sometimes. > > IOW, it seems to me that this function should actually instead throw a > > warning (and then perhaps configure something sane?), but not be the > > default code path. > > Yes, but I'd also like to avoid making the caller worry about the value > of a parameter which only exists for HT reasons (?). It mostly isn't even for HT reasons ... for HT, we could perfectly well fill the chandef directly, and do in many cases. johannes