From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (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 6913F3CF213 for ; Tue, 23 Jun 2026 08:58:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782205108; cv=none; b=XoNs+WTaA42J2g4JpuJ3dTUkH3ax/qLF0dwhZcSStMsir4GqDMk0n2yS4B3RZcBeiybTSoWMtyT0GDqvgO9zUEkOwnJ8iekFQbowhldsycZKm3JgUJffefUZ9oc8SPNvBhQpuf8TxTY26dAqVjNcPo3U0uX56CIrkFuh70gK6DU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782205108; c=relaxed/simple; bh=3YsDPKu+XZDNyWY/ZP2WF+FnCDXrXanHsbULdeIbMGc=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=UGA4HSOwLNLMO0C9NAAAV1DdTWYP9/TsUiE+xX6OcfYsdRL3Ph3S5cuILyTmKdqBwRucuhBLU9hEtv5TFJrs4pQDDgoKn8A19Vr+PZt7DgtmC0i+X+Mv4j/ZsKTrOrFwG2iWkWzP6ZKwI/zf07K8F9H6rT/3PaV5MaojNQvP9A0= 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=dnG9bGwK; arc=none smtp.client-ip=209.85.218.46 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="dnG9bGwK" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-c07d76ffd0fso537980166b.0 for ; Tue, 23 Jun 2026 01:58:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782205106; x=1782809906; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=FkA3hclgYIc87NYcXuz2G0H2QcH8Gc07wQOaw+kXDzE=; b=dnG9bGwKf5Tz5MlFPT4+rWtJpujYPtbp6GNuAhGuiciVJw60PcyQmEna0CH6KJ0Ojg ILWdYofY52nGMGjLeQNse2ciuPT1oYmhWRRn+SmcmlWvguICCFjuQCwxd0UveI87yK9q 1N0J+8QazCjMvmjSd2jyiAHW7csOVr0bouNzxZcww9K0Rp6ldDrAvt44E5M2HC0yKYxh cdq03jVOgQl0eX4gBhA3kB5g3BI23G7esSkiOgg87dEdiowcb/TsljPuM5OtcY1ZxqdR bV8gndPQEC5UXx7ATtvKve1NCiEHlxcVFeHhsu6w1+fUVWnEtARkhCfLEijYIyt/ItBK tOpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782205106; x=1782809906; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FkA3hclgYIc87NYcXuz2G0H2QcH8Gc07wQOaw+kXDzE=; b=RZZ35Qe4VfvdOeNwmiUZqg7Od5tZZ4ssMiqXJPreY02Y1CmWVYE/ib122CR4GjQQIi bol6QSQnJ91jqQ/FfkuhLW0Cvvz4gfcKiz6aXOqU/tb/L7+d1nDRYjv0EoVjI/LF777t ojyKuexrS3JoXNp9vdK78s38LmGD+7eTKVeC754O6/HEC4ZVfUpSsiYEUWWOryYuHz4V dad8itqEQ1lGF1mzXTG9fa0QSWFwH7X5df18s24W6km/uC3L4yFPDDrNZIzTGNt+R6JE 1Nx+MZYYWDR74xoaPbiSEojvGnEViQIhGQ7+TbbcXKnwOcLcXupdIHsK0HHRsDOyv6pr bJrw== X-Forwarded-Encrypted: i=1; AFNElJ9pcJFHN8UYEbh/ShuLU6ebF7Jhq4WiHo1T6L3TUX+lo53w0bSvnryjIyzsS7TTfp1Xw0GtnXONIJG/ZwU=@vger.kernel.org X-Gm-Message-State: AOJu0YzMQHMESKHBuXmq4UioAcpowrWParB5psyNbZEQ7mrLVgplKEEJ L759mnKTOh+5SHSgB/QdedJvPB62/yr2YgOhhDn6KUxlRdJsUb9YC3+XVB1XTg== X-Gm-Gg: AfdE7cn4mkY72+3HpG8jA4JEDZs4gkEwDzYHElQTbBsYjeWj+WK0dd3rm2eJgN6e+sX lYL/5504KY+L9NeCt21BFJI8H1ZVPn2SMOGHO6y7l3ZMy3yjRrKv/pde7WUTFHVz07LbSSjBGv3 p/qTVvGmjbn7ibDlBll4IGbKtq6fiGEAhQKaA6CFYfHLJmezMnfWB54AZYVqMi8Jlf/+nbzEbp+ D3y6Bo0pnWcCK8LOxLOa4nQFGItVcnJSSfSvuS1UhgVp9hud20wYJwfTlrDGUArSIZNoQIv7M20 /rB/xp+DMtvE7EFEjBhuLGqzJCBPtxkViX3cHMfMh2BezRRO+//hb3DmfbgY2uGP5/KDBC09GNq feqpHXKQ/szIOF3xaCWq0TUQ+KlSHD/7191tPYRYJRB0m2slNs8bM67kD4n/WPOBj6MXdTELGyJ AJ0n3ceU9fDeog4TN5qng= X-Received: by 2002:a17:906:bf49:b0:c08:484e:d943 with SMTP id a640c23a62f3a-c107c72a56bmr88141566b.3.1782205105661; Tue, 23 Jun 2026 01:58:25 -0700 (PDT) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c0c60ac9406sm479425366b.38.2026.06.23.01.58.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 23 Jun 2026 01:58:25 -0700 (PDT) Date: Tue, 23 Jun 2026 11:58:21 +0300 From: Dan Carpenter To: Ganesh Harshan Cc: gregkh@linuxfoundation.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, khushalchitturi@gmail.com, dennylin0707@gmail.com Subject: Re: [PATCH] staging: rtl8723bs: fix timer rescheduling in rtw_cmd callbacks Message-ID: References: <20260622230448.4138-1-ganeshredcobra@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260622230448.4138-1-ganeshredcobra@gmail.com> On Mon, Jun 22, 2026 at 07:04:48PM -0400, Ganesh Harshan wrote: > Ensure scan and association timers are deleted before being > rescheduled when command execution fails. > > Without deleting the existing timer, multiple timer instances > may be active simultaneously, potentially leading to duplicate > timeout handling or unexpected behavior. > > Use timer_delete_sync() to safely stop active timers before > rescheduling. > > Signed-off-by: Ganesh Harshan > --- > drivers/staging/rtl8723bs/core/rtw_cmd.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c > index b932670f5d63..967c3258e0b8 100644 > --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c > +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c > @@ -1801,7 +1801,9 @@ void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd) > struct mlme_priv *pmlmepriv = &padapter->mlmepriv; > > if (pcmd->res != H2C_SUCCESS) { > - /* TODO: cancel timer and do timeout handler directly... */ > + /* Ensure timer is safely rescheduled */ > + if (timer_pending(&pmlmepriv->scan_to_timer)) > + timer_delete_sync(&pmlmepriv->scan_to_timer); > _set_timer(&pmlmepriv->scan_to_timer, 1); Sorry, but this seems like a pointless change. The _set_timer(&pmlmepriv->scan_to_timer, 1) means we want the timer to trigger in 1 ms. In the current code if it's already running, it will run again in 1ms. In your code, we test if it's running and if it is then we wait for it to stop and then delete the timer so nothing else can run, and then we run it again in 1ms. The result is 100% the same either way. Either way we call the rtw_scan_timeout_handler() function twice. And that's fine so far as I can see. You have misunderstood the comment. They wanted to disable the timer and call rtw_scan_timeout_handler() right away instead of with a 1ms delay. I don't know how much weight I would put in this comment. We won't be able accept a change like that unless you are able to test it. regards, dan carpenter