[PATCH 0/2] Bluetooth: btmtksdio: Stop discarding the hardware device id
From: Chris Lu
Date: Mon Aug 24 2026 - 23:37:55 EST
btmtksdio_setup() reads the device id from register 0x70010200 and then
throws it away twice: an snprintf() overwrites the filename that
btmtk_fw_get_filename() derived from it, and mt79xx_setup() passes a
hardcoded 0 on to btmtk_setup_firmware_79xx().
Neither matters on supported hardware, since the device ids that would
make a difference - 0x6639, 0x7925 and a flavored 0x7961 - all belong to
parts with no SDIO interface. So this targets bluetooth-next with no
Fixes: tags. What it buys is that the two functions stop silently ignoring
their input, which is a trap for the next chip added to this driver.
Both patches come from a larger MT7928 series [1], where they were
described as fixing firmware load failures on MT6639, MT7925 and MT7928.
That does not hold for the SDIO driver and has been dropped.
Tested on a Chromebook with MT7921S, whose chip id register reports
0x7961: before and after, the driver requests
mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin, the firmware loads, and the
controller powers on and connects to an A2DP device.
[1] https://lore.kernel.org/linux-bluetooth/20260717072133.2858136-1-chris.lu@xxxxxxxxxxxx/
Chris Lu (2):
Bluetooth: btmtksdio: Remove redundant firmware filename override
Bluetooth: btmtksdio: Pass the hardware device id to mt79xx_setup()
drivers/bluetooth/btmtksdio.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
--
2.45.2