aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/701-net-0399-staging-fsl_ppfe-eth-Enhance-error-checking-in-platf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0399-staging-fsl_ppfe-eth-Enhance-error-checking-in-platf.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/701-net-0399-staging-fsl_ppfe-eth-Enhance-error-checking-in-platf.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0399-staging-fsl_ppfe-eth-Enhance-error-checking-in-platf.patch b/target/linux/layerscape/patches-5.4/701-net-0399-staging-fsl_ppfe-eth-Enhance-error-checking-in-platf.patch
new file mode 100644
index 0000000000..a42e9aa354
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/701-net-0399-staging-fsl_ppfe-eth-Enhance-error-checking-in-platf.patch
@@ -0,0 +1,38 @@
+From 1ccc18ca96d8a824f2af45d1046d23ccdb90f3df Mon Sep 17 00:00:00 2001
+From: Anji Jagarlmudi <anji.jagarlmudi@nxp.com>
+Date: Wed, 8 Jan 2020 12:18:40 +0530
+Subject: [PATCH] staging: fsl_ppfe/eth: Enhance error checking in platform
+ probe
+
+Fix the kernel crash when MAC addr is not passed in dtb.
+
+Signed-off-by: Anji Jagarlmudi <anji.jagarlmudi@nxp.com>
+---
+ drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+--- a/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
++++ b/drivers/staging/fsl_ppfe/pfe_ls1012a_platform.c
+@@ -29,15 +29,19 @@ static int pfe_get_gemac_if_properties(s
+ int size;
+ int phy_id = 0;
+ const u32 *addr;
+- const void *mac_addr;
++ const u8 *mac_addr;
+
+ addr = of_get_property(gem, "reg", &size);
+- port = be32_to_cpup(addr);
++ if (addr)
++ port = be32_to_cpup(addr);
++ else
++ goto err;
++
+
+ pdata->ls1012a_eth_pdata[port].gem_id = port;
+
+ mac_addr = of_get_mac_address(gem);
+- if (mac_addr) {
++ if (!IS_ERR_OR_NULL(mac_addr)) {
+ memcpy(pdata->ls1012a_eth_pdata[port].mac_addr, mac_addr,
+ ETH_ALEN);
+ }