summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSujeev Dias <sdias@codeaurora.org>2017-04-20 21:47:50 -0700
committerSujeev Dias <sdias@codeaurora.org>2017-04-24 19:03:10 -0700
commitc3cb01d6f0cddfd0c3b49a483cf06c37f7e79c87 (patch)
tree7761b5777a9a9ef332679c6e8a8f14d6362d26dd
parent048c70075fecb8f92d923fc5595efa00f2a00082 (diff)
msm: mhi_rmnet: clean channel resources only if allocated
It's possible for MHI host to send sys error notification signal before sending channel enable notification. Attempt to cleanup resources only if netdev is allocated. CRs-Fixed: 2037971 Change-Id: I2bd1f10966a042c6f3372adff89572a5795e7daf Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
-rw-r--r--drivers/net/ethernet/msm/msm_rmnet_mhi.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/ethernet/msm/msm_rmnet_mhi.c b/drivers/net/ethernet/msm/msm_rmnet_mhi.c
index 015cb99d445b..60b7a64c2edb 100644
--- a/drivers/net/ethernet/msm/msm_rmnet_mhi.c
+++ b/drivers/net/ethernet/msm/msm_rmnet_mhi.c
@@ -983,14 +983,17 @@ static void rmnet_mhi_cb(struct mhi_cb_info *cb_info)
if (cb_info->chan == rmnet_mhi_ptr->rx_channel) {
rmnet_log(rmnet_mhi_ptr, MSG_INFO,
"Receive MHI_DISABLE notification for rx path\n");
- rmnet_mhi_disable(rmnet_mhi_ptr);
+ if (rmnet_mhi_ptr->dev)
+ rmnet_mhi_disable(rmnet_mhi_ptr);
} else {
rmnet_log(rmnet_mhi_ptr, MSG_INFO,
"Receive MHI_DISABLE notification for tx path\n");
rmnet_mhi_ptr->tx_enabled = 0;
- rmnet_mhi_internal_clean_unmap_buffers
- (rmnet_mhi_ptr->dev, &rmnet_mhi_ptr->tx_buffers,
- DMA_TO_DEVICE);
+ if (rmnet_mhi_ptr->dev)
+ rmnet_mhi_internal_clean_unmap_buffers(
+ rmnet_mhi_ptr->dev,
+ &rmnet_mhi_ptr->tx_buffers,
+ DMA_TO_DEVICE);
}
/* Remove all votes disabling low power mode */