From: Gabriel Santese santesegabriel@gmail.com
[ Upstream commit ba06528ad5a31923efc24324706116ccd17e12d8 ]
MSI Bravo 17 (D7VF), like other laptops from the family, has broken ACPI tables and needs a quirk for internal mic to work properly.
Signed-off-by: Gabriel Santese santesegabriel@gmail.com Link: https://patch.msgid.link/20250530005444.23398-1-santesegabriel@gmail.com Signed-off-by: Mark Brown broonie@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org ---
**YES**
This commit should be backported to stable kernel trees. Here's my extensive analysis:
## Analysis of the Commit
### 1. **Nature of the Fix** This commit adds a DMI quirk entry for the MSI Bravo 17 D7VF laptop to enable its internal microphone. The code change is minimal and follows an established pattern:
```c + { + .driver_data = &acp6x_card, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Micro-Star International Co., Ltd."), + DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VF"), + } + }, ```
### 2. **Bug Being Fixed** The commit message explicitly states "has broken ACPI tables and needs a quirk for internal mic to work properly." This is fixing a real hardware functionality issue where the internal microphone doesn't work without this quirk.
### 3. **User Impact** Without this fix, users of the MSI Bravo 17 D7VF laptop cannot use their internal microphone, which is a significant functionality loss for: - Video conferencing - Voice recording - Voice commands - Any application requiring microphone input
### 4. **Code Analysis** Looking at the probe function in `acp6x_probe()`: - The driver first tries to detect DMIC support via ACPI methods (`AcpDmicConnected` and `_WOV`) - If ACPI detection fails or returns incorrect values (as mentioned in commit - "broken ACPI tables"), it falls back to DMI quirk table matching - Without the quirk entry, `dmi_first_match(yc_acp_quirk_table)` returns NULL, and the card won't be set up properly, resulting in no microphone support
### 5. **Consistency with Similar Commits** All similar commits provided as reference were marked with "Backport Status: YES": - "ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK)" - YES - "ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VF" - YES (includes Cc: stable) - "ASoC: amd: yc: fix internal mic on Redmi G 2022" - YES - "ASoC: amd: yc: Add DMI quirk for Lenovo Ideapad Pro 5 16ARP8" - YES (includes Cc: stable) - "ASoC: amd: yc: Fix non-functional mic on ASUS E1404FA" - YES
### 6. **Risk Assessment** - **Minimal risk**: The change only adds a new DMI match entry - **No architectural changes**: Pure data addition to existing quirk table - **No behavioral changes**: Only affects the specific laptop model - **Well-tested pattern**: Follows exact same pattern as dozens of other entries in the table
### 7. **Stable Tree Criteria** This commit meets all stable tree criteria: - ✓ Fixes a real bug affecting users (non-functional microphone) - ✓ Small and contained change (7 lines addition) - ✓ No side effects beyond fixing the specific issue - ✓ No new features or architectural changes - ✓ Hardware enablement fix for specific model
### 8. **Pattern Recognition** This is part of the MSI Bravo laptop family fixes: - Bravo 15 B7ED already has quirk - Bravo 15 C7VF already has quirk (with Cc: stable) - Bravo 17 D7VEK already has quirk - This adds Bravo 17 D7VF to complete the family
The commit follows the exact same pattern and reasoning as previous MSI Bravo laptop quirks that were successfully backported to stable trees, indicating this should also be backported for consistency and user benefit.
sound/soc/amd/yc/acp6x-mach.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c index 622df58a96942..d00e19d7b5c2f 100644 --- a/sound/soc/amd/yc/acp6x-mach.c +++ b/sound/soc/amd/yc/acp6x-mach.c @@ -437,6 +437,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VEK"), } }, + { + .driver_data = &acp6x_card, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Micro-Star International Co., Ltd."), + DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VF"), + } + }, { .driver_data = &acp6x_card, .matches = {