From nobody Wed Nov 29 16:37:49 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SgQ3f0Y5Lz52wwV; Wed, 29 Nov 2023 16:37:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SgQ3d5TtPz3GG1; Wed, 29 Nov 2023 16:37:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1701275869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m0jd93ILcAyO/pUvO+wD5cFtzuYPNJUFwYd+gtDju40=; b=qLbwJJUVZ2dWscPIV/9cxhi5LUrfKfI/3Ggx8C0aTdHSIRQAoA4myvrYK0fzuM0aG4S/zI jpbWWzDYWO9TVmS0onX7+UTAUzDqdA98AR6zjcSCTl3s8CVl6DMdSkYKUYuQfX3AiMbb/A NIcQOohgvfrl8k4Pauu7gb6H4B9xPGKETd7J9IVM3gwPqQlJc6MkNBeJcCGnOcgXBbjzO4 rns4y7M9MGHNwByWgKQpuER6IQyY4zm2Z9X960AB/Gc+VTVXzjiFyZS9YmYN0WvA0BOp2X xAx3dPJ5n9BQwgHnQZ1QI2MbYVZ8/IL6szRGw5Ih9E0UI1S4fA4iOVkG5AbtRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1701275869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=m0jd93ILcAyO/pUvO+wD5cFtzuYPNJUFwYd+gtDju40=; b=yINq8omqE77C4DhgzmDRonNBIzq8nXlYnxkPgcvPqvoqGDXq2ngnPONEydvx2IHzW1AxO3 RdAoetHL4QPHEB9kNW7OsiKbVPiDUOBrb6c5mtA6Ulmo3MklSanwB9vFYG6hgEzJcSGkyb ClhUDYk5peawpHe3LbKk1WVyOGf3dY8hL54+CtAmIlMKUJKHBIXmgD+LRnWVLWR4kCtkY7 yfFa9UhxvxWoNyL2u6dqtJ3AgvG/O6KmCWrzKaKlBiDk9jNVsXB5XTEgmrpbVv/yzuwpVd SPVgdPkIwzBmorgQdfd8ViNE8rolUeMmQLEZ+Rkb/EORJBVIpNv8H4dPUOu5KQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1701275869; a=rsa-sha256; cv=none; b=b9c459fVPDOs/8+4fxpGztkXetkdZhPLBjY23eLLxSyA5p/FCGX0rFFdNUAcJSWrJx2IDP mDKpLb05WLjA0o2vcvugW6b7EfjjEQuIylh+VgvZIiBWMvszDeJar0w8fqT9ty7JTqQCIh F2S7pjSeKKmJBmXGs4UndIUIKS7XxKoZDvzVCC0v2uus36POB96KNnFmFV/F12r9kRY8IR iMf4oWxQIDt2ZAU8G6/cxdg+v/1i4V+jEnVsI9o8FDk51C9jMrRDCn/dSnyhIL1ezuqiKh t9SgdB49FL68rTEBvqrlocz1DSFHiEnpr5DVs2hDJWY18riOTcQRk9Yvf3wwTA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SgQ3d4bg7z1Bwf; Wed, 29 Nov 2023 16:37:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3ATGbnRU044246; Wed, 29 Nov 2023 16:37:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3ATGbnfg044243; Wed, 29 Nov 2023 16:37:49 GMT (envelope-from git) Date: Wed, 29 Nov 2023 16:37:49 GMT Message-Id: <202311291637.3ATGbnfg044243@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 62abea27d700 - stable/13 - net80211: ieee80211_swscan_bg_scan() track return variable under lock List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 62abea27d7006bd1caaf25faef713c61047fa9be Auto-Submitted: auto-generated The branch stable/13 has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=62abea27d7006bd1caaf25faef713c61047fa9be commit 62abea27d7006bd1caaf25faef713c61047fa9be Author: Bjoern A. Zeeb AuthorDate: 2023-02-18 01:15:21 +0000 Commit: Bjoern A. Zeeb CommitDate: 2023-11-29 16:36:03 +0000 net80211: ieee80211_swscan_bg_scan() track return variable under lock As the comment says it probably does not matter but use a local variable to track state under lock so we can return the last known good state of what we thought we were operating under after unlocking. Likely no functional changes. Sponsored by: The FreeBSD Foundation (cherry picked from commit c9ba91435a01a80632a5b68144d75b38241fc8be) --- sys/net80211/ieee80211_scan_sw.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sys/net80211/ieee80211_scan_sw.c b/sys/net80211/ieee80211_scan_sw.c index af90a72d4adb..3a29a784f36b 100644 --- a/sys/net80211/ieee80211_scan_sw.c +++ b/sys/net80211/ieee80211_scan_sw.c @@ -332,12 +332,14 @@ ieee80211_swscan_bg_scan(const struct ieee80211_scanner *scan, { struct ieee80211com *ic = vap->iv_ic; struct ieee80211_scan_state *ss = ic->ic_scan; + bool scanning; /* XXX assert unlocked? */ // IEEE80211_UNLOCK_ASSERT(ic); IEEE80211_LOCK(ic); - if ((ic->ic_flags & IEEE80211_F_SCAN) == 0) { + scanning = ic->ic_flags & IEEE80211_F_SCAN; + if (!scanning) { u_int duration; /* * Go off-channel for a fixed interval that is large @@ -401,6 +403,7 @@ ieee80211_swscan_bg_scan(const struct ieee80211_scanner *scan, ic->ic_flags_ext |= IEEE80211_FEXT_BGSCAN; ieee80211_runtask(ic, &SCAN_PRIVATE(ss)->ss_scan_start); + scanning = true; } else { /* XXX msg+stat */ } @@ -411,8 +414,7 @@ ieee80211_swscan_bg_scan(const struct ieee80211_scanner *scan, } IEEE80211_UNLOCK(ic); - /* NB: racey, does it matter? */ - return (ic->ic_flags & IEEE80211_F_SCAN); + return (scanning); } /*