summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Peng <robinpeng@google.com>2022-10-27 17:03:18 +0000
committerRobin Peng <robinpeng@google.com>2022-10-27 17:03:18 +0000
commitf86621be8a0f8c1eb00ce3cc47814978cc7755f2 (patch)
treeee19a0880536979909cfb41f333e26c08dfefd92
parent28d3dc9e4bef4b4626e810d5cec81bd5c91904e7 (diff)
parentc612c71bdf0ef8bebf6ddf0a70803a949885274b (diff)
downloadcnss2-f86621be8a0f8c1eb00ce3cc47814978cc7755f2.tar.gz
Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-udc
SBMerger: 478053055 Change-Id: I720b8122fc925330aae6ac0677c7524aa280a47c Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
-rw-r--r--Kbuild4
-rw-r--r--Makefile2
-rw-r--r--cnss2/pci.c2
-rw-r--r--cnss2/pci_platform_google.c13
-rw-r--r--mhi/core/misc.h11
-rw-r--r--qrtr/Makefile4
-rw-r--r--qrtr/af_qrtr.c4
-rw-r--r--qrtr/ns.c4
-rw-r--r--qrtr/qrtr.c4
9 files changed, 41 insertions, 7 deletions
diff --git a/Kbuild b/Kbuild
index fc37826..33b5824 100644
--- a/Kbuild
+++ b/Kbuild
@@ -27,8 +27,8 @@ ifeq ($(CONFIG_MHI_BUS_MISC),y)
KBUILD_CPPFLAGS += -DCONFIG_MHI_BUS_MISC
endif
-ifeq ($(CONFIG_MHI_DEBUG),y)
-KBUILD_CPPFLAGS += -DCONFIG_MHI_DEBUG
+ifeq ($(CONFIG_MHI_BUS_DEBUG),y)
+KBUILD_CPPFLAGS += -DCONFIG_MHI_BUS_DEBUG
endif
obj-$(CONFIG_MHI_BUS) += mhi/
diff --git a/Makefile b/Makefile
index dea858c..f014ef5 100644
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@ KBUILD_OPTIONS += CONFIG_CNSS_UTILS=m
# MHI
KBUILD_OPTIONS += CONFIG_MHI_BUS=m
KBUILD_OPTIONS += CONFIG_MHI_BUS_MISC=y
-KBUILD_OPTIONS += CONFIG_MHI_DEBUG=y
+KBUILD_OPTIONS += CONFIG_MHI_BUS_DEBUG=y
# QMI
KBUILD_OPTIONS += CONFIG_QCOM_QMI_HELPERS=m
diff --git a/cnss2/pci.c b/cnss2/pci.c
index dc78895..fdb3417 100644
--- a/cnss2/pci.c
+++ b/cnss2/pci.c
@@ -1709,10 +1709,12 @@ retry_mhi_suspend:
cnss_pci_allow_l1(&pci_priv->pci_dev->dev);
} else {
#if IS_ENABLED(CONFIG_WCN_GOOGLE)
+ cnss_pr_dbg("Disable PCIe L1ss\n");
cnss_pci_prevent_l1(&pci_priv->pci_dev->dev);
#endif
ret = mhi_pm_resume(pci_priv->mhi_ctrl);
#if IS_ENABLED(CONFIG_WCN_GOOGLE)
+ cnss_pr_dbg("Enable PCIe L1ss\n");
cnss_pci_allow_l1(&pci_priv->pci_dev->dev);
#endif
}
diff --git a/cnss2/pci_platform_google.c b/cnss2/pci_platform_google.c
index 1effec6..9154915 100644
--- a/cnss2/pci_platform_google.c
+++ b/cnss2/pci_platform_google.c
@@ -171,7 +171,10 @@ int cnss_pci_prevent_l1(struct device *dev)
}
ret = exynos_pcie_rc_l1ss_ctrl(0, PCIE_L1SS_CTRL_WIFI, pci_priv->plat_priv->rc_num);
- cnss_pr_dbg("disable PCIe rc L1ss, ret=%d\n", ret);
+ if (ret) {
+ cnss_pr_err("Disable PCIe L1ss failed\n");
+ }
+
return ret;
}
EXPORT_SYMBOL(cnss_pci_prevent_l1);
@@ -180,6 +183,7 @@ void cnss_pci_allow_l1(struct device *dev)
{
struct pci_dev *pci_dev = to_pci_dev(dev);
struct cnss_pci_data *pci_priv = cnss_get_pci_priv(pci_dev);
+ int ret;
if (!pci_priv) {
cnss_pr_err("pci_priv is NULL\n");
@@ -196,8 +200,11 @@ void cnss_pci_allow_l1(struct device *dev)
return;
}
- cnss_pr_dbg("enable PCIe rc L1ss\n");
- exynos_pcie_rc_l1ss_ctrl(1, PCIE_L1SS_CTRL_WIFI, pci_priv->plat_priv->rc_num);
+ ret = exynos_pcie_rc_l1ss_ctrl(1, PCIE_L1SS_CTRL_WIFI, pci_priv->plat_priv->rc_num);
+ if (ret) {
+ cnss_pr_err("Enable PCIe L1ss failed\n");
+ }
+
}
EXPORT_SYMBOL(cnss_pci_allow_l1);
diff --git a/mhi/core/misc.h b/mhi/core/misc.h
index 78bf8fb..b76fd49 100644
--- a/mhi/core/misc.h
+++ b/mhi/core/misc.h
@@ -85,6 +85,16 @@
##__VA_ARGS__); \
} while (0)
+#if defined(CONFIG_WCN_GOOGLE)
+#define MHI_LOG(fmt, ...) do { \
+ struct mhi_private *mhi_priv = \
+ dev_get_drvdata(&mhi_cntrl->mhi_dev->dev); \
+ dev_info(dev, "[I][%s] " fmt, __func__, ##__VA_ARGS__); \
+ if (mhi_priv && mhi_priv->log_lvl <= MHI_MSG_LVL_INFO) \
+ ipc_log_string(mhi_priv->log_buf, "[I][%s] " fmt, __func__, \
+ ##__VA_ARGS__); \
+} while (0)
+#else
#define MHI_LOG(fmt, ...) do { \
struct mhi_private *mhi_priv = \
dev_get_drvdata(&mhi_cntrl->mhi_dev->dev); \
@@ -93,6 +103,7 @@
ipc_log_string(mhi_priv->log_buf, "[I][%s] " fmt, __func__, \
##__VA_ARGS__); \
} while (0)
+#endif
#define MHI_ERR(fmt, ...) do { \
struct mhi_private *mhi_priv = \
diff --git a/qrtr/Makefile b/qrtr/Makefile
index 72fe8a3..b6813f2 100644
--- a/qrtr/Makefile
+++ b/qrtr/Makefile
@@ -4,4 +4,6 @@ obj-$(CONFIG_QRTR) += qrtr.o
qrtr-y := af_qrtr.o ns.o
qrtr-$(CONFIG_QRTR_DEBUG) += debug.o
obj-$(CONFIG_QRTR_MHI) += qrtr-mhi.o
-qrtr-mhi-y := mhi.o \ No newline at end of file
+qrtr-mhi-y := mhi.o
+
+ccflags-y += -DCONFIG_WCN_GOOGLE
diff --git a/qrtr/af_qrtr.c b/qrtr/af_qrtr.c
index 0ea15be..8b7253a 100644
--- a/qrtr/af_qrtr.c
+++ b/qrtr/af_qrtr.c
@@ -1480,7 +1480,11 @@ static int qrtr_port_assign(struct qrtr_sock *ipc, int *port)
if (rc >= 0)
*port = rc;
} else if (*port < QRTR_MIN_EPH_SOCKET &&
+#if IS_ENABLED(CONFIG_WCN_GOOGLE)
+ !(ns_capable_noaudit(&init_user_ns, CAP_NET_ADMIN) ||
+#else
!(capable(CAP_NET_ADMIN) ||
+#endif
in_egroup_p(AID_VENDOR_QRTR) ||
in_egroup_p(GLOBAL_ROOT_GID))) {
rc = -EACCES;
diff --git a/qrtr/ns.c b/qrtr/ns.c
index 82fd855..bf62103 100644
--- a/qrtr/ns.c
+++ b/qrtr/ns.c
@@ -784,7 +784,11 @@ void qrtr_ns_init(void)
goto err_wq;
}
+#if IS_ENABLED(CONFIG_WCN_GOOGLE)
+ sock_setsockopt(qrtr_ns.sock, SOL_SOCKET, SO_RCVBUF,
+#else
sock_setsockopt(qrtr_ns.sock, SOL_SOCKET, SO_RCVBUFFORCE,
+#endif
KERNEL_SOCKPTR((void *)&rx_buf_sz), sizeof(rx_buf_sz));
qrtr_ns.bcast_sq.sq_family = AF_QIPCRTR;
diff --git a/qrtr/qrtr.c b/qrtr/qrtr.c
index 7bbdf15..782386b 100644
--- a/qrtr/qrtr.c
+++ b/qrtr/qrtr.c
@@ -1454,7 +1454,11 @@ static int qrtr_port_assign(struct qrtr_sock *ipc, int *port)
if (rc >= 0)
*port = rc;
} else if (*port < QRTR_MIN_EPH_SOCKET &&
+#if IS_ENABLED(CONFIG_WCN_GOOGLE)
+ !(ns_capable_noaudit(&init_user_ns, CAP_NET_ADMIN) ||
+#else
!(capable(CAP_NET_ADMIN) ||
+#endif
in_egroup_p(AID_VENDOR_QRTR) ||
in_egroup_p(GLOBAL_ROOT_GID))) {
rc = -EACCES;