static void ath10k_core_get_fw_name(struct ath10k *ar, char *fw_name,
                                    size_t fw_name_len, int fw_api)
 {
-       scnprintf(fw_name, fw_name_len, "%s-%d.bin", ATH10K_FW_FILE_BASE, fw_api);
+       switch (ar->hif.bus) {
+       case ATH10K_BUS_SDIO:
+               scnprintf(fw_name, fw_name_len, "%s-%s-%d.bin",
+                         ATH10K_FW_FILE_BASE, ath10k_bus_str(ar->hif.bus),
+                         fw_api);
+               break;
+       case ATH10K_BUS_PCI:
+       case ATH10K_BUS_AHB:
+               scnprintf(fw_name, fw_name_len, "%s-%d.bin",
+                         ATH10K_FW_FILE_BASE, fw_api);
+               break;
+       }
 }
 
 static int ath10k_core_fetch_firmware_files(struct ath10k *ar)