cnss2: Deinit MHI before device power on during SSR

This can make sure MHI driver can safely free the memory which
is used by WLAN firmware since device is powered off.

Change-Id: If9d891eaf1ca7c28869448b3a0a42be713e16c2e
Signed-off-by: Yue Ma <yuem@codeaurora.org>
This commit is contained in:
Yue Ma 2017-06-08 15:24:20 -07:00 committed by Gerrit - the friendly Code Review server
parent 7aa065cbc4
commit 0c5297200a
2 changed files with 8 additions and 3 deletions

View file

@ -1100,7 +1100,8 @@ static int cnss_qca6290_powerup(struct cnss_plat_data *plat_priv)
return -ENODEV;
}
if (plat_priv->ramdump_info_v2.dump_data_valid) {
if (plat_priv->ramdump_info_v2.dump_data_valid ||
test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state)) {
cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_DEINIT);
cnss_pci_clear_dump_info(pci_priv);
}

View file

@ -1392,8 +1392,12 @@ void cnss_pci_stop_mhi(struct cnss_pci_data *pci_priv)
cnss_pci_set_mhi_state_bit(pci_priv, CNSS_MHI_RESUME);
cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_POWER_OFF);
if (!plat_priv->ramdump_info_v2.dump_data_valid)
cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_DEINIT);
if (plat_priv->ramdump_info_v2.dump_data_valid ||
test_bit(CNSS_DRIVER_RECOVERY, &plat_priv->driver_state))
return;
cnss_pci_set_mhi_state(pci_priv, CNSS_MHI_DEINIT);
}
static int cnss_pci_probe(struct pci_dev *pci_dev,