From: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
To: Paul Menzel <pmenzel@molgen.mpg.de>
Cc: Bartosz Golaszewski <brgl@kernel.org>,
Marcel Holtmann <marcel@holtmann.org>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org,
linux-kernel@vger.kernel.org, cheng.jiang@oss.qualcomm.com,
quic_chezhou@quicinc.com, wei.deng@oss.qualcomm.com,
jinwang.li@oss.qualcomm.com, mengshi.wu@oss.qualcomm.com,
stable@vger.kernel.org
Subject: Re: [PATCH v1] Bluetooth: hci_qca: Increase SSR delay for rampatch and NVM loading
Date: Mon, 25 May 2026 12:54:21 +0800 [thread overview]
Message-ID: <9f898fe2-0b38-489a-b3d0-e13b00a68ab8@oss.qualcomm.com> (raw)
In-Reply-To: <1b8e8129-4f42-429e-bd70-5e368551739c@molgen.mpg.de>
Hi Paul
Thanks for your review and suggestions.
On 5/22/2026 10:50 PM, Paul Menzel wrote:
> Dear Shuai,
>
>
> Thank you for your patch. Please mention the delay in the
> summary/title. Maybe:
>
> Use 100 ms SSR delay for rampatch and NVM loading
>
> Am 22.05.26 um 13:08 schrieb Shuai Zhang:
>> When bt_en is pulled high by hardware, the host does not re-download
>> the firmware after SSR. The controller loads the rampatch and NVM
>> internally.
>>
>> On HMT chip, due to the large firmware file size, the
>
> Please document the size (> X MB)
On HMT chip, the rampatch size is ~264 KB and the NVM is ~9.4 KB.
I will update this information in the next version of the patch.
>
>> loading process takes approximately 70ms. The previous 50ms delay is
>> too short, causing the controller to not respond to the reset command
>> sent by the host, which leads to BT initialization failure.
>
> Maybe paste the log?
Bluetooth: hci0: QCA memdump Done, received 458752, total 458752
Bluetooth: hci0: mem_dump_status: 2
Bluetooth: hci0: Opcode 0x0c03 failed: -110
I will update this information in the next version of the patch.
>
>> Increase the delay to 100ms to ensure the controller has finished
>> loading the firmware before the host sends commands.
>
> Why can’t it be increased to 1 s?
>
>> Steps to reproduce:
>> 1. Trigger SSR and wait for SSR to complete:
>> hcitool cmd 0x3f 0c 26
>> 2. Run "bluetoothctl power on" and observe that BT fails to start.
>>
>> Fixes: fce1a9244a0f ("Bluetooth: hci_qca: Fix SSR (SubSystem Restart)
>> fail when BT_EN is pulled up by hw")
>> Cc: stable@vger.kernel.org
>> Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com>
>> ---
>> drivers/bluetooth/hci_qca.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
>> index ed280399b..184f52f9c 100644
>> --- a/drivers/bluetooth/hci_qca.c
>> +++ b/drivers/bluetooth/hci_qca.c
>> @@ -1680,8 +1680,8 @@ static void qca_hw_error(struct hci_dev *hdev,
>> u8 code)
>> mod_timer(&qca->tx_idle_timer, jiffies +
>> msecs_to_jiffies(qca->tx_idle_delay));
>> - /* Controller reset completion time is 50ms */
>> - msleep(50);
>> + /* Wait for the controller to load the rampatch and NVM.*/
>
> Missing space at the end.
>
>> + msleep(100);
>> clear_bit(QCA_SSR_TRIGGERED, &qca->flags);
>> clear_bit(QCA_IBS_DISABLED, &qca->flags);
>
> Is the time it took to load the rampatch and NVM visible in the logs?
No, the loading time of the rampatch and NVM is not visible in the host
logs,
as the firmware is loaded internally by the controller.
>
>
> Kind regards,
>
> Paul
Thanks,
Shuai
prev parent reply other threads:[~2026-05-25 4:54 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 11:08 Shuai Zhang
2026-05-22 14:19 ` Dmitry Baryshkov
2026-05-22 14:50 ` Paul Menzel
2026-05-22 16:22 ` Luiz Augusto von Dentz
2026-05-22 20:42 ` Paul Menzel
2026-05-25 6:49 ` Shuai Zhang
2026-05-25 4:54 ` Shuai Zhang [this message]
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=9f898fe2-0b38-489a-b3d0-e13b00a68ab8@oss.qualcomm.com \
--to=shuai.zhang@oss.qualcomm.com \
--cc=brgl@kernel.org \
--cc=cheng.jiang@oss.qualcomm.com \
--cc=jinwang.li@oss.qualcomm.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=mengshi.wu@oss.qualcomm.com \
--cc=pmenzel@molgen.mpg.de \
--cc=quic_chezhou@quicinc.com \
--cc=stable@vger.kernel.org \
--cc=wei.deng@oss.qualcomm.com \
/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
Powered by JetHome