|
@@ -99,8 +99,10 @@ static int wil_if_pcie_enable(struct wil6210_priv *wil)
|
|
|
*/
|
|
|
int msi_only = pdev->msi_enabled;
|
|
|
bool _use_msi = use_msi;
|
|
|
+ bool wmi_only = test_bit(WMI_FW_CAPABILITY_WMI_ONLY,
|
|
|
+ wil->fw_capabilities);
|
|
|
|
|
|
- wil_dbg_misc(wil, "if_pcie_enable\n");
|
|
|
+ wil_dbg_misc(wil, "if_pcie_enable, wmi_only %d\n", wmi_only);
|
|
|
|
|
|
pdev->msi_enabled = 0;
|
|
|
|
|
@@ -123,9 +125,11 @@ static int wil_if_pcie_enable(struct wil6210_priv *wil)
|
|
|
if (rc)
|
|
|
goto stop_master;
|
|
|
|
|
|
- /* need reset here to obtain MAC */
|
|
|
+ /* need reset here to obtain MAC or in case of WMI-only FW, full reset
|
|
|
+ * and fw loading takes place
|
|
|
+ */
|
|
|
mutex_lock(&wil->mutex);
|
|
|
- rc = wil_reset(wil, false);
|
|
|
+ rc = wil_reset(wil, wmi_only);
|
|
|
mutex_unlock(&wil->mutex);
|
|
|
if (rc)
|
|
|
goto release_irq;
|