From nobody Sat Feb 7 19:45:30 2026 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7999B17B502 for ; Tue, 24 Dec 2024 07:28:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735025287; cv=none; b=lckh5jwrypKBVneFN1hi+7WxUcq450EaD1GUF/2LWDaBPFTfy4Di4g0l9kj3flxVgTCDaZov9f2aqwfNfkhXv9EDyyUBjKL7aMKPF+059XAhrBlKQZKl8xTykCfcuSkmORXcZ1winjSZ0vm6jJ4m0U8Kwr2C1/JGpg0cAz0OmAs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1735025287; c=relaxed/simple; bh=/aEL8Nn8HnHRWhCO5Ux6tm/CvJvS/brGDzmIzjpuKe4=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Hxi8i29glSZlebApM4XuwINePudbze2Og/V+cl/vKBfj75Q6kurxzyToiI8nEsZUv1V0JcgWspujIVVnuxqPKbNeyPD8qi9112TtKkEbB/+4xLgSz/bUjg9ZL5xrayMw2ABc9c4m+gf5IMKJ7Zr6cDKwCxD2gXOw02FfFlKrUfc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hqjv2zQq; arc=none smtp.client-ip=209.85.216.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hqjv2zQq" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-2ee397a82f6so5059422a91.2 for ; Mon, 23 Dec 2024 23:28:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1735025286; x=1735630086; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=VYXbjyhxcBs4jzu92Mcp/+bq0RMMP2K3YtyWaDhFcc0=; b=hqjv2zQq5wsb0DTBFKGtJMf6SXjWB6myd2ymzDaYl9b+gd4Ja44osRvrQP4mRVGo1x HHIqNL+qEFkKZIGNltT0kkzFMOyQH/1S89BHPHR31G4TU8krAKzXB5FRujX6QR8iE2SS 7c64mc8l+QdOGUqLJGd+H+WUfdGG1Wjyx0Xf8G5HE9pbW3O5fZ/kQuSkcNEAoGk/LR7o maLb5BeWhlssJKs3EoTS3ZjHtQnvF8IyeUZGQhTHvpxnO9ZtSpcop670X9cztbDWWJp9 ECL6pUDa+TQ2jr4V6d9gx2xxi4aKVZ4aYMVIHcYuYIfJBo/+p7pPlzaAIMnJxq8p3nVO 3Itw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735025286; x=1735630086; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=VYXbjyhxcBs4jzu92Mcp/+bq0RMMP2K3YtyWaDhFcc0=; b=hx9nqdeN5rprrBNb3oZpfVWjuX+cmE7T92wQu96EJu97E4bCNdL7PcMvpHTOlyUIo2 V5tUSFcF95KhjCsACAL9Zm+oPN/jWZ11LXY9U52kZehEjKzTRyXijofo2DB4NocNyR/T RRY48QNhk0i7E3mwqrG9L+VqSS7nn4mgWpBR+lANpsSMd6NL0bhLNtDVR0esKS0fTNak reuFB0nqQC6Ug5/J5kaE2bF0EYOldha362ghXR/Xw1cU+2+jpANN5odjzGDt5ny9Te8O AhKttqfZmXgkD7wfHuWJ/PonGhTEcjuYZGIHcraJ34LCYyaLaHpl+N0V4wpmCHoRH1EO gQfQ== X-Forwarded-Encrypted: i=1; AJvYcCXI17RY4VA8wCVVa4p7tFbEnXBdkDOBCsOLNDhyCSiA9jwfHFYsDRDvA4DHn/DoLDolVl5Et1InNlcssBg=@vger.kernel.org X-Gm-Message-State: AOJu0Yyb9QWLxA+ZZFitVnDy1BR6iTSXy2Kyhcoo6XoCw4JuQ8VN+NFB xHArGOtmTJXkXxOHTrFDvG0MMKihmLACT3ftxeX72/OdCRCHVGeE X-Gm-Gg: ASbGncuhaZ9z1PUmIFv7NWgDR4QN0XZk2xcL/qDlFW0FwF3EwQfDu4Zmk7ofNtego+k 7pAQ6fR23JdwvPL1GCoaxCorHGC2YFwysNADhORm+cr7N7upg6cbBSSTM8tpUcS5zhiUsIHQBD3 g8V7uxKWJM9KyeXXYSNHLTsJ+I7pC3kyW7a89a4XcaiqS/dnPQFYgb1H1D87y6mqum/KzozcHjA Z40SFG1Nww7ml1CAKOCqV/yCeRB/hicYbWwjY2yA3py+JtKQ+Cl+oPQMmxPl3I95teOiPuTRQ== X-Google-Smtp-Source: AGHT+IG4Ivsa2J6N+uf87Klj+KSvPFj1OOetQQ4eND4Pmku1nRL/5IzXAjA+QMFTeqcfhv7ur2U/vg== X-Received: by 2002:a05:6a00:8d8d:b0:725:e05a:c975 with SMTP id d2e1a72fcca58-72abdebc11dmr23370212b3a.19.1735025285608; Mon, 23 Dec 2024 23:28:05 -0800 (PST) Received: from localhost.localdomain ([106.208.149.105]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-72aad8344desm9057643b3a.54.2024.12.23.23.28.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Dec 2024 23:28:05 -0800 (PST) From: Atharva Tiwari To: Cc: evepolonium@gmail.com, Greg Kroah-Hartman , Meir Elisha , Philipp Hortmann , Dan Carpenter , linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH] staging: rtl8723bs: fix network selection and A-MPDU reordering in rtw_mlme.c Date: Tue, 24 Dec 2024 12:57:52 +0530 Message-Id: <20241224072754.2352-1-evepolonium@gmail.com> X-Mailer: git-send-email 2.39.5 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" this patch fixes the network selection logic to avoid selecting a network w= ith the same ESSID as the oldest scanned network if it was scanned within the last second. it also improves A-MPDU reorderin= g bu enabling it only if the AP supports it,and disabling it otherwise and also i have a question what does "new enough" mean on line 481? Signed-off-by: Atharva Tiwari --- drivers/staging/rtl8723bs/core/rtw_mlme.c | 28 +++++++++++++++-------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rt= l8723bs/core/rtw_mlme.c index 5ded183aa08c..b33846f88680 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -481,7 +481,9 @@ void rtw_update_scanned_network(struct adapter *adapter= , struct wlan_bssid_ex *t } =20 if (rtw_roam_flags(adapter)) { - /* TODO: don't select network in the same ess as oldest if it's new eno= ugh*/ + if (is_same_ess(&pnetwork->network, &oldest->network) && + time_after(pnetwork->last_scanned, (unsigned long)msecs_to_jiffies(100= 0))) + continue; } =20 if (!oldest || time_after(oldest->last_scanned, pnetwork->last_scanned)) @@ -1000,15 +1002,23 @@ static struct sta_info *rtw_joinbss_update_stainfo(= struct adapter *padapter, str =20 /* for A-MPDU Rx reordering buffer control for bmc_sta & sta_info */ /* if A-MPDU Rx is enabled, resetting rx_ordering_ctrl wstart_b(indicat= e_seq) to default value =3D 0xffff */ - /* todo: check if AP can send A-MPDU packets */ - for (i =3D 0; i < 16 ; i++) { - preorder_ctrl =3D &psta->recvreorder_ctrl[i]; - preorder_ctrl->enable =3D false; - preorder_ctrl->indicate_seq =3D 0xffff; - preorder_ctrl->wend_b =3D 0xffff; - preorder_ctrl->wsize_b =3D 64;/* max_ampdu_sz;ex. 32(kbytes) -> wsize_b= =3D32 */ + if (rtw_check_ap_supports_ampdu(pnetwork)) { + for (i =3D 0; i < 16 ; i++) { + preorder_ctrl =3D &psta->recvreorder_ctrl[i]; + preorder_ctrl->enable =3D true; /* Enable A-MPDU reordering */ + preorder_ctrl->indicate_seq =3D 0; /* Starting sequence number */ + preorder_ctrl->wend_b =3D 0xffff; + preorder_ctrl->wsize_b =3D 64;/* max_ampdu_sz;ex. 32(kbytes) -> wsize_= b =3D32 */ + } + } else { + for (i =3D 0; i < 16; i++) { + preorder_ctrl =3D &psta->recvreorder_ctrl[i]; + preorder_ctrl->enable =3D false; + preorder_ctrl->indicate_seq =3D 0xffff; + preorder_ctrl->wend_b =3D 0xffff; + preorder_ctrl->wsize_b =3D 64; /* max_ampdu_sz; adjust as needed */ + } } - bmc_sta =3D rtw_get_bcmc_stainfo(padapter); if (bmc_sta) { for (i =3D 0; i < 16 ; i++) { --=20 2.39.5