From: Hans de Goede hansg@kernel.org
[ Upstream commit a8e5a110c0c38e08e5dd66356cd1156e91cf88e1 ]
The Acer A1 840 tablet contains quite generic names in the sys_vendor and product_name DMI strings, without this patch brcmfmac will try to load: brcmfmac43340-sdio.Insyde-BayTrail.txt as nvram file which is a bit too generic.
Add a DMI quirk so that a unique and clearly identifiable nvram file name is used on the Acer A1 840 tablet.
Acked-by: Arend van Spriel arend.vanspriel@broadcom.com Signed-off-by: Hans de Goede hansg@kernel.org Link: https://patch.msgid.link/20251103100314.353826-1-hansg@kernel.org Signed-off-by: Johannes Berg johannes.berg@intel.com Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
## Analysis of Commit for Stable Backporting
### 1. COMMIT MESSAGE ANALYSIS
**Subject:** wifi: brcmfmac: Add DMI nvram filename quirk for Acer A1 840 tablet
**Key observations:** - No `Cc: stable@vger.kernel.org` tag present - No `Fixes:` tag pointing to a prior commit - The commit explains that the tablet has generic DMI strings ("Insyde" / "BayTrail") - Without the patch, brcmfmac loads `brcmfmac43340-sdio.Insyde- BayTrail.txt` which is "a bit too generic"
The wording "a bit too generic" suggests this is more of an improvement/optimization rather than fixing broken functionality.
### 2. CODE CHANGE ANALYSIS
The change adds: 1. A new `brcmf_dmi_data` structure: ```c static const struct brcmf_dmi_data acer_a1_840_data = { BRCM_CC_43340_CHIP_ID, 2, "acer-a1-840" }; ```
2. A DMI match entry with three match criteria (vendor, product, BIOS date) to identify this specific tablet and associate it with the new data structure.
**Technical nature:** Pure data addition - adds static const data and a DMI table entry using existing infrastructure.
### 3. CLASSIFICATION
This is a **hardware quirk** for DMI-based nvram filename selection. Hardware quirks are generally allowable in stable per the documented exceptions.
### 4. SCOPE AND RISK ASSESSMENT
- **Size:** ~15 lines added, very small - **Files:** Single file (dmi.c) - **Risk:** Extremely low - only affects the specific Acer A1 840 tablet - **Pattern:** Follows identical pattern to ~15 other existing DMI quirks in this file
### 5. USER IMPACT
- **Who is affected:** Only Acer Iconia One 8 A1-840 tablet owners - **Severity:** The commit message says the generic filename is "a bit too generic" - not that WiFi is broken - **Nature:** This enables using a device-specific nvram file instead of a generic one
### 6. STABILITY INDICATORS
- Acked by Broadcom maintainer (Arend van Spriel) - Hans de Goede is well-known for x86 tablet quirks - No explicit stable request from maintainers
### 7. DEPENDENCY CHECK
- Requires corresponding `brcmfmac43340-sdio.acer-a1-840.txt` file in linux-firmware - No code dependencies on other kernel commits - DMI quirk infrastructure exists in all stable trees
### Decision Rationale
**Arguments for backporting:** - Falls under "hardware quirks" exception - Zero risk to other systems - Small, contained change - Uses existing infrastructure
**Arguments against backporting:** 1. **No stable tags:** The maintainers did not add `Cc: stable@vger.kernel.org`, suggesting they don't consider this critical for stable 2. **Not fixing broken functionality:** The commit says the generic name is "a bit too generic" - not that WiFi doesn't work. This is an improvement, not a fix for completely broken hardware 3. **Firmware dependency:** Requires a corresponding nvram file in linux-firmware that may not be present in stable distributions 4. **Enablement vs Fix:** This is adding device-specific customization rather than fixing a bug. The generic nvram file path still works, just isn't optimally specific 5. **No reported bug:** No `Reported-by:` tag or link to a bug report indicating users are affected
### Conclusion
While hardware quirks are sometimes appropriate for stable, this particular quirk is more of an enhancement to use a more specific nvram filename rather than a fix for broken functionality. The maintainer's decision not to add stable tags, combined with the "a bit too generic" language (rather than "doesn't work"), indicates this is a quality-of- life improvement rather than a critical fix. Stable trees should focus on fixes for actual broken functionality, not optimizations for firmware filename selection.
**NO**
.../net/wireless/broadcom/brcm80211/brcmfmac/dmi.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c index c3a602197662b..abe7f6501e5ed 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/dmi.c @@ -24,6 +24,10 @@ static const struct brcmf_dmi_data acepc_t8_data = { BRCM_CC_4345_CHIP_ID, 6, "acepc-t8" };
+static const struct brcmf_dmi_data acer_a1_840_data = { + BRCM_CC_43340_CHIP_ID, 2, "acer-a1-840" +}; + /* The Chuwi Hi8 Pro uses the same Ampak AP6212 module as the Chuwi Vi8 Plus * and the nvram for the Vi8 Plus is already in linux-firmware, so use that. */ @@ -91,6 +95,16 @@ static const struct dmi_system_id dmi_platform_data[] = { }, .driver_data = (void *)&acepc_t8_data, }, + { + /* Acer Iconia One 8 A1-840 (non FHD version) */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), + DMI_MATCH(DMI_PRODUCT_NAME, "BayTrail"), + /* Above strings are too generic also match BIOS date */ + DMI_MATCH(DMI_BIOS_DATE, "04/01/2014"), + }, + .driver_data = (void *)&acer_a1_840_data, + }, { /* Chuwi Hi8 Pro with D2D3_Hi8Pro.233 BIOS */ .matches = {