From 2cb8f0a4cf0f3d6606cad6b0cff687b71a78c3dd Mon Sep 17 00:00:00 2001 From: "Andrey Jr. Melnikov" Date: Sun, 8 Oct 2017 00:00:28 +0300 Subject: [PATCH] ar71xx: Fix NULL pointer dereferece in at803x_link_change_notify() Check pdata pointer before use to avoid OOPS if dev_get_platdata() return NULL. Signed-off-by: Andrey Jr. Melnikov --- .../ar71xx/patches-4.4/902-at803x-add-reset-gpio-pdata.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/linux/ar71xx/patches-4.4/902-at803x-add-reset-gpio-pdata.patch b/target/linux/ar71xx/patches-4.4/902-at803x-add-reset-gpio-pdata.patch index 2244f882e7..efc8502bcd 100644 --- a/target/linux/ar71xx/patches-4.4/902-at803x-add-reset-gpio-pdata.patch +++ b/target/linux/ar71xx/patches-4.4/902-at803x-add-reset-gpio-pdata.patch @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau */ if (phydev->state == PHY_NOLINK) { - if (priv->gpiod_reset && !priv->phy_reset) { -+ if ((priv->gpiod_reset || pdata->has_reset_gpio) && ++ if ((priv->gpiod_reset || (pdata && pdata->has_reset_gpio)) && + !priv->phy_reset) { struct at803x_context context; @@ -52,7 +52,7 @@ Signed-off-by: Felix Fietkau - msleep(1); - gpiod_set_value(priv->gpiod_reset, 0); - msleep(1); -+ if (pdata->has_reset_gpio) { ++ if (pdata && pdata->has_reset_gpio) { + gpio_set_value_cansleep(pdata->reset_gpio, 0); + msleep(1); + gpio_set_value_cansleep(pdata->reset_gpio, 1);