--- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -3537,7 +3537,8 @@ int ath10k_core_register(struct ath10k * * Forcing the work to be done immediately works around this problem * but may also delay the boot when firmware images cannot be found. */ - flush_workqueue(ar->workqueue); + if (ar->hif.bus != ATH10K_BUS_SDIO) + flush_workqueue(ar->workqueue); return 0; } --- a/drivers/net/wireless/ath/ath10k/debug.c +++ b/drivers/net/wireless/ath/ath10k/debug.c @@ -1260,6 +1260,9 @@ static int ath10k_debug_cal_data_fetch(s if (ar->hw_params.cal_data_len == 0) return -EOPNOTSUPP; + if (ar->hif.bus == ATH10K_BUS_SDIO) + return -EINVAL; + hi_addr = host_interest_item_address(HI_ITEM(hi_board_data)); ret = ath10k_hif_diag_read(ar, hi_addr, &addr, sizeof(addr));