From: Yang Yingliang <yangyingliang@huawei.com>
Date: Thu, 21 Apr 2022 13:51:48 +0000 (+0800)
Subject: ethernet: broadcom/sb1250-mac: remove BUG_ON in sbmac_probe()
X-Git-Tag: sched-urgent-2022-06-05~35^2~261
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=60d78e9fce8886b403a21fecb0dd13f9c0f12e1f;p=users%2Fdwmw2%2Flinux.git

ethernet: broadcom/sb1250-mac: remove BUG_ON in sbmac_probe()

Replace the BUG_ON() with returning error code to handle
the fault more gracefully.

Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/ethernet/broadcom/sb1250-mac.c b/drivers/net/ethernet/broadcom/sb1250-mac.c
index a1a38456c9a33..5d5f101801588 100644
--- a/drivers/net/ethernet/broadcom/sb1250-mac.c
+++ b/drivers/net/ethernet/broadcom/sb1250-mac.c
@@ -2534,7 +2534,12 @@ static int sbmac_probe(struct platform_device *pldev)
 	int err;
 
 	res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
-	BUG_ON(!res);
+	if (!res) {
+		printk(KERN_ERR "%s: failed to get resource\n",
+		       dev_name(&pldev->dev));
+		err = -EINVAL;
+		goto out_out;
+	}
 	sbm_base = ioremap(res->start, resource_size(res));
 	if (!sbm_base) {
 		printk(KERN_ERR "%s: unable to map device registers\n",