linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Klaus Kudielka <klaus.kudielka@gmail.com>
To: Baochen Qiang <baochen.qiang@oss.qualcomm.com>,
	Jeff Johnson	 <jeff.johnson@oss.qualcomm.com>,
	Jeff Johnson <jjohnson@kernel.org>,
	Kalle Valo	 <kvalo@kernel.org>,
	Baochen Qiang <quic_bqiang@quicinc.com>
Cc: linux-wireless@vger.kernel.org, ath10k@lists.infradead.org,
	 linux-kernel@vger.kernel.org,
	Paul Menzel <pmenzel@molgen.mpg.de>,
	 regressions@lists.linux.dev
Subject: Re: [REGRESSION] ath10k fails initialization, bisected to "wifi: ath10k: avoid unnecessary wait for service ready message"
Date: Wed, 22 Oct 2025 19:30:38 +0200	[thread overview]
Message-ID: <68dd3d93509b627dbdf907332a703443f46aff6c.camel@gmail.com> (raw)
In-Reply-To: <5466e122-9143-482e-a9ab-7f956e19bf86@oss.qualcomm.com>

On Wed, 2025-10-22 at 16:00 +0800, Baochen Qiang wrote:
> Thank you Klaus, can you please try if below diff can fix this regression?
> 
> diff --git a/drivers/net/wireless/ath/ath10k/ce.c b/drivers/net/wireless/ath/ath10k/ce.c
> index 7bbda46cfd93..1a981d333b5c 100644
> --- a/drivers/net/wireless/ath/ath10k/ce.c
> +++ b/drivers/net/wireless/ath/ath10k/ce.c
> @@ -1256,6 +1256,19 @@ void ath10k_ce_per_engine_service(struct ath10k *ar, unsigned int
> ce_id)
>  }
>  EXPORT_SYMBOL(ath10k_ce_per_engine_service);
> 
> +void ath10k_ce_per_engine_check(struct ath10k *ar, unsigned int ce_id)
> +{
> +       struct ath10k_ce *ce = ath10k_ce_priv(ar);
> +       struct ath10k_ce_pipe *ce_state = &ce->ce_states[ce_id];
> +
> +       if (ce_state->recv_cb)
> +               ce_state->recv_cb(ce_state);
> +
> +       if (ce_state->send_cb)
> +               ce_state->send_cb(ce_state);
> +}
> +EXPORT_SYMBOL(ath10k_ce_per_engine_check);
> +
>  /*
>   * Handler for per-engine interrupts on ALL active CEs.
>   * This is used in cases where the system is sharing a
> diff --git a/drivers/net/wireless/ath/ath10k/ce.h b/drivers/net/wireless/ath/ath10k/ce.h
> index 27367bd64e95..9923530e51eb 100644
> --- a/drivers/net/wireless/ath/ath10k/ce.h
> +++ b/drivers/net/wireless/ath/ath10k/ce.h
> @@ -255,6 +255,7 @@ int ath10k_ce_cancel_send_next(struct ath10k_ce_pipe *ce_state,
>  /*==================CE Interrupt Handlers====================*/
>  void ath10k_ce_per_engine_service_any(struct ath10k *ar);
>  void ath10k_ce_per_engine_service(struct ath10k *ar, unsigned int ce_id);
> +void ath10k_ce_per_engine_check(struct ath10k *ar, unsigned int ce_id);
>  void ath10k_ce_disable_interrupt(struct ath10k *ar, int ce_id);
>  void ath10k_ce_disable_interrupts(struct ath10k *ar);
>  void ath10k_ce_enable_interrupt(struct ath10k *ar, int ce_id);
> diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c
> index 97b49bf4ad80..ce8e0c2fb975 100644
> --- a/drivers/net/wireless/ath/ath10k/pci.c
> +++ b/drivers/net/wireless/ath/ath10k/pci.c
> @@ -1812,7 +1812,7 @@ void ath10k_pci_hif_send_complete_check(struct ath10k *ar, u8 pipe,
>                 if (resources > (ar_pci->attr[pipe].src_nentries >> 1))
>                         return;
>         }
> -       ath10k_ce_per_engine_service(ar, pipe);
> +       ath10k_ce_per_engine_check(ar, pipe);
>  }
> 
>  static void ath10k_pci_rx_retry_sync(struct ath10k *ar)
> 
> 

Thanks for looking into this.
I applied that patch on top of current mainline, but unfortunately the result is still the same:

[    6.094149] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    6.241457] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[    6.241476] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 0 tracing 0 dfs 1 testmode 0
[    6.242901] ath10k_pci 0000:02:00.0: firmware ver 10.2.4-1.0-00047 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 35bd9258
[    6.309202] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   12.509266] ath10k_pci 0000:02:00.0: wmi unified ready event not received
[   12.581057] ath10k_pci 0000:02:00.0: could not init core (-110)
[   12.587057] ath10k_pci 0000:02:00.0: could not probe fw (-110)


  reply	other threads:[~2025-10-22 17:30 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-08-11  9:26 [PATCH ath-next] wifi: ath10k: avoid unnecessary wait for service ready message Baochen Qiang
2025-09-18  7:27 ` Vasanthakumar Thiagarajan
2025-09-18 23:47 ` Jeff Johnson
2025-10-17 15:37   ` [REGRESSION] ath10k fails initialization, bisected to "wifi: ath10k: avoid unnecessary wait for service ready message" Klaus Kudielka
2025-10-17 15:57     ` Jeff Johnson
2025-10-18 13:50       ` Klaus Kudielka
2025-10-22  8:00         ` Baochen Qiang
2025-10-22 17:30           ` Klaus Kudielka [this message]
2025-10-01  6:22 ` [PATCH ath-next] wifi: ath10k: avoid unnecessary wait for service ready message Paul Menzel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=68dd3d93509b627dbdf907332a703443f46aff6c.camel@gmail.com \
    --to=klaus.kudielka@gmail.com \
    --cc=ath10k@lists.infradead.org \
    --cc=baochen.qiang@oss.qualcomm.com \
    --cc=jeff.johnson@oss.qualcomm.com \
    --cc=jjohnson@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pmenzel@molgen.mpg.de \
    --cc=quic_bqiang@quicinc.com \
    --cc=regressions@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).