lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Zzs2b6y-DPY3v8ty@hovoldconsulting.com>
Date: Mon, 18 Nov 2024 13:43:27 +0100
From: Johan Hovold <johan@...nel.org>
To: Zijun Hu <quic_zijuhu@...cinc.com>
Cc: Marcel Holtmann <marcel@...tmann.org>,
	Luiz Augusto von Dentz <luiz.dentz@...il.com>,
	Bjorn Andersson <andersson@...nel.org>,
	Steev Klimaszewski <steev@...i.org>,
	Paul Menzel <pmenzel@...gen.mpg.de>, Zijun Hu <zijun_hu@...oud.com>,
	linux-bluetooth@...r.kernel.org, linux-kernel@...r.kernel.org,
	Luiz Augusto von Dentz <luiz.von.dentz@...el.com>,
	Bjorn Andersson <bjorande@...cinc.com>,
	"Aiqun Yu (Maria)" <quic_aiquny@...cinc.com>,
	Cheng Jiang <quic_chejiang@...cinc.com>,
	Jens Glathe <jens.glathe@...schoolsolutions.biz>,
	stable@...r.kernel.org, Johan Hovold <johan+linaro@...nel.org>
Subject: Re: [PATCH v2] Bluetooth: qca: Support downloading board ID specific
 NVM for WCN6855

On Sat, Nov 16, 2024 at 07:49:23AM -0800, Zijun Hu wrote:
> For WCN6855, board ID specific NVM needs to be downloaded once board ID
> is available, but the default NVM is always downloaded currently, and
> the wrong NVM causes poor RF performance which effects user experience.
> 
> Fix by downloading board ID specific NVM if board ID is available.
> 
> Cc: Bjorn Andersson <bjorande@...cinc.com>
> Cc: Aiqun Yu (Maria) <quic_aiquny@...cinc.com>
> Cc: Cheng Jiang <quic_chejiang@...cinc.com>
> Cc: Johan Hovold <johan@...nel.org>
> Cc: Jens Glathe <jens.glathe@...schoolsolutions.biz>
> Cc: Steev Klimaszewski <steev@...i.org>
> Cc: Paul Menzel <pmenzel@...gen.mpg.de>

Nit: These Cc tags should typically not be here in the commit message,
and should at least not be needed for people who git-send-email will
already include because of Tested-by and Reviewed-by tags.

If they help with your workflow then perhaps you can just put them below
the cut-off (---) line.

> Fixes: 095327fede00 ("Bluetooth: hci_qca: Add support for QTI Bluetooth chip wcn6855")
> Cc: stable@...r.kernel.org # 6.4
> Reviewed-by: Johan Hovold <johan+linaro@...nel.org>

When making non-trivial changes, like the addition of the fallback NVM
feature in v2, you should probably have dropped any previous Reviewed-by
tags.

The fallback handling looks good to me though (and also works as
expected).

> Tested-by: Johan Hovold <johan+linaro@...nel.org>
> Tested-by: Steev Klimaszewski <steev@...i.org>
> Tested-by: Jens Glathe <jens.glathe@...schoolsolutions.biz>
> Signed-off-by: Zijun Hu <quic_zijuhu@...cinc.com>

> Changes in v2:
> - Correct subject and commit message
> - Temporarily add nvm fallback logic to speed up backport.
> — Add fix/stable tags as suggested by Luiz and Johan
> - Link to v1: https://lore.kernel.org/r/20241113-x13s_wcn6855_fix-v1-1-15af0aa2549c@quicinc.com
 
> +download_nvm:
>  	err = qca_download_firmware(hdev, &config, soc_type, rom_ver);
>  	if (err < 0) {
>  		bt_dev_err(hdev, "QCA Failed to download NVM (%d)", err);
> +		if (err == -ENOENT && boardid != 0 &&
> +		    soc_type == QCA_WCN6855) {
> +			boardid = 0;
> +			qca_get_hsp_nvm_name_generic(&config, ver,
> +						     rom_ver, boardid);
> +			bt_dev_warn(hdev, "QCA fallback to default NVM");
> +			goto download_nvm;
> +		}
>  		return err;

If you think it's ok for people to continue using the wrong (default)
NVM file for a while still until their distros ship the board-specific
ones, then this looks good to me and should ease the transition:

[    6.125626] Bluetooth: hci0: QCA Downloading qca/hpnv21g.b8c
[    6.126730] bluetooth hci0: Direct firmware load for qca/hpnv21g.b8c failed with error -2
[    6.126826] Bluetooth: hci0: QCA Failed to request file: qca/hpnv21g.b8c (-2)
[    6.126894] Bluetooth: hci0: QCA Failed to download NVM (-2)
[    6.126951] Bluetooth: hci0: QCA fallback to default NVM
[    6.127003] Bluetooth: hci0: QCA Downloading qca/hpnv21g.bin
[    6.309322] Bluetooth: hci0: QCA setup on UART is completed

Johan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ