All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Harini Katakam <harini.katakam@xilinx.com>,
	"David S . Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>,
	netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.14 22/43] net: macb: Add null check for PCLK and HCLK
Date: Mon, 22 Apr 2019 15:47:06 -0400	[thread overview]
Message-ID: <20190422194727.12495-22-sashal@kernel.org> (raw)
In-Reply-To: <20190422194727.12495-1-sashal@kernel.org>

From: Harini Katakam <harini.katakam@xilinx.com>

[ Upstream commit cd5afa91f078c0787be0a62b5ef90301c00b0271 ]

Both PCLK and HCLK are "required" clocks according to macb devicetree
documentation. There is a chance that devm_clk_get doesn't return a
negative error but just a NULL clock structure instead. In such a case
the driver proceeds as usual and uses pclk value 0 to calculate MDC
divisor which is incorrect. Hence fix the same in clock initialization.

Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
---
 drivers/net/ethernet/cadence/macb_main.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 9046993947cc..2287749de087 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -2817,14 +2817,20 @@ static int macb_clk_init(struct platform_device *pdev, struct clk **pclk,
 		*hclk = devm_clk_get(&pdev->dev, "hclk");
 	}
 
-	if (IS_ERR(*pclk)) {
+	if (IS_ERR_OR_NULL(*pclk)) {
 		err = PTR_ERR(*pclk);
+		if (!err)
+			err = -ENODEV;
+
 		dev_err(&pdev->dev, "failed to get macb_clk (%u)\n", err);
 		return err;
 	}
 
-	if (IS_ERR(*hclk)) {
+	if (IS_ERR_OR_NULL(*hclk)) {
 		err = PTR_ERR(*hclk);
+		if (!err)
+			err = -ENODEV;
+
 		dev_err(&pdev->dev, "failed to get hclk (%u)\n", err);
 		return err;
 	}
-- 
2.19.1


  parent reply	other threads:[~2019-04-22 19:48 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-22 19:46 [PATCH AUTOSEL 4.14 01/43] ARM: dts: bcm283x: Fix hdmi hpd gpio pull Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 02/43] s390: limit brk randomization to 32MB Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 03/43] qlcnic: Avoid potential NULL pointer dereference Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 04/43] netfilter: nft_set_rbtree: check for inactive element after flag mismatch Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 05/43] netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 06/43] s390/qeth: fix race when initializing the IP address table Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 07/43] sc16is7xx: missing unregister/delete driver on error in sc16is7xx_init() Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 08/43] serial: ar933x_uart: Fix build failure with disabled console Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 09/43] KVM: arm/arm64: vgic-its: Take the srcu lock when parsing the memslots Sasha Levin
2019-04-22 19:46   ` Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 10/43] usb: gadget: net2280: Fix overrun of OUT messages Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 11/43] usb: gadget: net2280: Fix net2280_dequeue() Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 12/43] usb: gadget: net2272: Fix net2272_dequeue() Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 13/43] ARM: dts: pfla02: increase phy reset duration Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 14/43] net: ks8851: Dequeue RX packets explicitly Sasha Levin
2019-04-22 19:46 ` [PATCH AUTOSEL 4.14 15/43] net: ks8851: Reassert reset pin if chip ID check fails Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 16/43] net: ks8851: Delay requesting IRQ until opened Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 17/43] net: ks8851: Set initial carrier state to down Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 18/43] staging: rtl8188eu: Fix potential NULL pointer dereference of kcalloc Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 19/43] staging: rtlwifi: rtl8822b: fix to avoid potential NULL pointer dereference Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 20/43] staging: rtl8712: uninitialized memory in read_bbreg_hdl() Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 21/43] staging: rtlwifi: Fix potential NULL pointer dereference of kzalloc Sasha Levin
2019-04-22 19:47 ` Sasha Levin [this message]
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 23/43] net/sched: don't dereference a->goto_chain to read the chain index Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 24/43] ARM: dts: imx6qdl: Fix typo in imx6qdl-icore-rqs.dtsi Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 25/43] NFS: Fix a typo in nfs_init_timeout_values() Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 26/43] net: xilinx: fix possible object reference leak Sasha Levin
2019-04-22 19:47   ` Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 27/43] net: ibm: " Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 28/43] net: ethernet: ti: " Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 29/43] gpio: aspeed: fix a potential NULL pointer dereference Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 30/43] drm/meson: Fix invalid pointer in meson_drv_unbind() Sasha Levin
2019-04-22 19:47   ` Sasha Levin
2019-04-22 19:47   ` Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 31/43] drm/meson: Uninstall IRQ handler Sasha Levin
2019-04-22 19:47   ` Sasha Levin
2019-04-22 19:47   ` Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 32/43] scsi: qla4xxx: fix a potential NULL pointer dereference Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 33/43] usb: usb251xb: fix to avoid " Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 34/43] usb: u132-hcd: fix resource leak Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 35/43] tty: fix NULL pointer issue when tty_port ops is not set Sasha Levin
2019-04-23  5:35   ` Johan Hovold
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 36/43] ceph: fix use-after-free on symlink traversal Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 37/43] scsi: zfcp: reduce flood of fcrscn1 trace records on multi-element RSCN Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 38/43] libata: fix using DMA buffers on stack Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 39/43] gpio: of: Fix of_gpiochip_add() error path Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 40/43] kconfig/[mn]conf: handle backspace (^H) key Sasha Levin
     [not found] ` <20190422194727.12495-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2019-04-22 19:47   ` [PATCH AUTOSEL 4.14 41/43] iommu/amd: Reserve exclusion range in iova-domain Sasha Levin
2019-04-22 19:47     ` Sasha Levin
2019-04-22 19:47     ` Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 42/43] ptrace: take into account saved_sigmask in PTRACE{GET,SET}SIGMASK Sasha Levin
2019-04-22 19:47 ` [PATCH AUTOSEL 4.14 43/43] leds: pca9532: fix a potential NULL pointer dereference Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190422194727.12495-22-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=davem@davemloft.net \
    --cc=harini.katakam@xilinx.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.