Merge remote-tracking branch 'qcom_sm8250/lineage-20' into lineage-22.2
Change-Id: I41d3b2e791439f1ef1d34ced81a40912461bb3b0
This commit is contained in:
@@ -1055,7 +1055,10 @@ static int __ipa_add_flt_rule(struct ipa_flt_tbl *tbl, enum ipa_ip_type ip,
|
||||
} else {
|
||||
list_add(&entry->link, &tbl->head_flt_rule_list);
|
||||
}
|
||||
tbl->rule_cnt++;
|
||||
if (tbl->rule_cnt < IPA_RULE_CNT_MAX)
|
||||
tbl->rule_cnt++;
|
||||
else
|
||||
return -EINVAL;
|
||||
if (entry->rt_tbl)
|
||||
entry->rt_tbl->ref_cnt++;
|
||||
id = ipa_id_alloc(entry);
|
||||
|
||||
@@ -204,6 +204,7 @@
|
||||
#define IPA2_ACTIVE_CLIENTS_LOG_LINE_LEN 96
|
||||
#define IPA2_ACTIVE_CLIENTS_LOG_HASHTABLE_SIZE 50
|
||||
#define IPA2_ACTIVE_CLIENTS_LOG_NAME_LEN 40
|
||||
#define IPA_RULE_CNT_MAX 512
|
||||
|
||||
struct ipa2_active_client_htable_entry {
|
||||
struct hlist_node list;
|
||||
|
||||
@@ -1077,7 +1077,10 @@ static int __ipa_add_rt_rule(enum ipa_ip_type ip, const char *name,
|
||||
list_add_tail(&entry->link, &tbl->head_rt_rule_list);
|
||||
else
|
||||
list_add(&entry->link, &tbl->head_rt_rule_list);
|
||||
tbl->rule_cnt++;
|
||||
if (tbl->rule_cnt < IPA_RULE_CNT_MAX)
|
||||
tbl->rule_cnt++;
|
||||
else
|
||||
return -EINVAL;
|
||||
if (entry->hdr)
|
||||
entry->hdr->ref_cnt++;
|
||||
else if (entry->proc_ctx)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only
|
||||
/*
|
||||
* Copyright (c) 2014-2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -2569,15 +2570,8 @@ static int ipa3_wwan_remove(struct platform_device *pdev)
|
||||
if (ipa3_rmnet_res.ipa_napi_enable)
|
||||
netif_napi_del(&(rmnet_ipa3_ctx->wwan_priv->napi));
|
||||
mutex_unlock(&rmnet_ipa3_ctx->pipe_handle_guard);
|
||||
IPAWANDBG("rmnet_ipa unregister_netdev started\n");
|
||||
unregister_netdev(IPA_NETDEV());
|
||||
IPAWANDBG("rmnet_ipa unregister_netdev completed\n");
|
||||
ipa3_wwan_deregister_netdev_pm_client();
|
||||
cancel_work_sync(&ipa3_tx_wakequeue_work);
|
||||
cancel_delayed_work(&ipa_tether_stats_poll_wakequeue_work);
|
||||
if (IPA_NETDEV())
|
||||
free_netdev(IPA_NETDEV());
|
||||
rmnet_ipa3_ctx->wwan_priv = NULL;
|
||||
/* No need to remove wwan_ioctl during SSR */
|
||||
if (!atomic_read(&rmnet_ipa3_ctx->is_ssr))
|
||||
ipa3_wan_ioctl_deinit();
|
||||
@@ -2778,6 +2772,15 @@ static int ipa3_lcl_mdm_ssr_notifier_cb(struct notifier_block *this,
|
||||
break;
|
||||
case SUBSYS_AFTER_SHUTDOWN:
|
||||
IPAWANINFO("IPA Received MPSS AFTER_SHUTDOWN\n");
|
||||
|
||||
IPAWANINFO("rmnet_ipa unregister_netdev\n");
|
||||
if (IPA_NETDEV())
|
||||
unregister_netdev(IPA_NETDEV());
|
||||
ipa3_wwan_deregister_netdev_pm_client();
|
||||
if (IPA_NETDEV())
|
||||
free_netdev(IPA_NETDEV());
|
||||
rmnet_ipa3_ctx->wwan_priv = NULL;
|
||||
|
||||
if (atomic_read(&rmnet_ipa3_ctx->is_ssr) &&
|
||||
ipa3_ctx->ipa_hw_type < IPA_HW_v4_0)
|
||||
ipa3_q6_post_shutdown_cleanup();
|
||||
|
||||
Reference in New Issue
Block a user