diff --git a/drivers/platform/msm/gsi/gsi_dbg.c b/drivers/platform/msm/gsi/gsi_dbg.c index 5ffd2c8e22f5..960c444b1cc5 100644 --- a/drivers/platform/msm/gsi/gsi_dbg.c +++ b/drivers/platform/msm/gsi/gsi_dbg.c @@ -681,8 +681,9 @@ static ssize_t gsi_read_gsi_hw_profiling_stats(struct file *file, totalCycles = stats.mcs_busy_cnt + stats.mcs_idle_cnt + stats.bp_and_pending_cnt; if (totalCycles != 0) - util = (100 * (stats.mcs_busy_cnt + stats.bp_and_pending_cnt)) / - totalCycles; + util = div_u64( + 100 * (stats.mcs_busy_cnt + stats.bp_and_pending_cnt), + totalCycles); else util = 0; diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa.c b/drivers/platform/msm/ipa/ipa_v3/ipa.c index 50f571cd8320..1e109bb5e60d 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa.c @@ -7629,11 +7629,14 @@ static int ipa3_pre_init(const struct ipa3_plat_drv_res *resource_p, goto fail_wwan_init; } - result = ipa3_rmnet_ctl_init(); - if (result) { - IPAERR(":ipa3_rmnet_ctl_init err=%d\n", -result); - result = -ENODEV; - goto fail_rmnet_ctl_init; + if (ipa3_ctx->rmnet_ctl_enable) { + result = ipa3_rmnet_ctl_init(); + if (result) { + IPAERR(":ipa3_rmnet_ctl_init err=%d\n", + -result); + result = -ENODEV; + goto fail_rmnet_ctl_init; + } } } mutex_init(&ipa3_ctx->app_clock_vote.mutex); diff --git a/drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c b/drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c index 21d8d81d0ea0..2a03574ef7d7 100644 --- a/drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c +++ b/drivers/platform/msm/ipa/ipa_v3/ipa_wdi3_i.c @@ -484,7 +484,7 @@ static int ipa3_wdi_gsi_db(phys_addr_t* db_addr, struct ipa3_ep_context *ep_ctx) /* write channel scratch */ memset(&gsi_ch_scratch, 0, sizeof(gsi_ch_scratch)); gsi_ch_scratch.wdi3.db_addr_wp_lsb = (u32)mem.phys_base; - gsi_ch_scratch.wdi3.db_addr_wp_msb = (u32)(mem.phys_base >> 32); + gsi_ch_scratch.wdi3.db_addr_wp_msb = (u32)((mem.phys_base & 0xFFFFFFFF00000000) >> 32); IPADBG("gsi written lsb value 0x%x\n", gsi_ch_scratch.wdi3.db_addr_wp_lsb); IPADBG("gsi written msb value 0x%x\n", gsi_ch_scratch.wdi3.db_addr_wp_msb); diff --git a/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c b/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c index 84aaf08df871..7ac4f52e67af 100644 --- a/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c +++ b/drivers/platform/msm/ipa/ipa_v3/rmnet_ipa.c @@ -2755,9 +2755,11 @@ static int ipa3_wwan_remove(struct platform_device *pdev) IPAWANINFO("rmnet_ipa started deinitialization\n"); mutex_lock(&rmnet_ipa3_ctx->pipe_handle_guard); - ret = ipa3_teardown_apps_low_lat_pipes(); - if (ret < 0) - IPAWANERR("Failed to teardown IPA->APPS qmap pipe\n"); + if (ipa3_ctx->rmnet_ctl_enable) { + ret = ipa3_teardown_apps_low_lat_pipes(); + if (ret < 0) + IPAWANERR("Failed to teardown IPA->APPS qmap pipe\n"); + } ret = ipa3_teardown_sys_pipe(rmnet_ipa3_ctx->ipa3_to_apps_hdl); if (ret < 0) IPAWANERR("Failed to teardown IPA->APPS pipe\n");