mwifiex: skip firmware dump when read_regs() fails
authorXinming Hu <huxm@marvell.com>
Wed, 3 Feb 2016 06:05:04 +0000 (22:05 -0800)
committerKalle Valo <kvalo@codeaurora.org>
Sun, 7 Feb 2016 07:15:36 +0000 (09:15 +0200)
If we are not able to read registers or PCIe memory,
it means PCIe device is in bad state. We will skip
firmware dump in this case.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/marvell/mwifiex/pcie.c

index b9fe1813cc4febeb446b0a543e3ef52f9706d714..a18d944c2f312d58eec78aac39018c504b675962 100644 (file)
@@ -2366,9 +2366,13 @@ mwifiex_pcie_rdwr_firmware(struct mwifiex_adapter *adapter, u8 doneflag)
 {
        int ret, tries;
        u8 ctrl_data;
+       u32 fw_status;
        struct pcie_service_card *card = adapter->card;
        const struct mwifiex_pcie_card_reg *reg = card->pcie.reg;
 
+       if (mwifiex_read_reg(adapter, reg->fw_status, &fw_status))
+               return RDWR_STATUS_FAILURE;
+
        ret = mwifiex_write_reg(adapter, reg->fw_dump_ctrl, FW_DUMP_HOST_READY);
        if (ret) {
                mwifiex_dbg(adapter, ERROR,