ethernet: broadcom/sb1250-mac: remove BUG_ON in sbmac_probe()
authorYang Yingliang <yangyingliang@huawei.com>
Thu, 21 Apr 2022 13:51:48 +0000 (21:51 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Apr 2022 10:24:41 +0000 (11:24 +0100)
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>
drivers/net/ethernet/broadcom/sb1250-mac.c

index a1a38456c9a33aad0eb1afbe228dbe11d56ca1da..5d5f101801588ee4c03a12bba74e6983d1d22972 100644 (file)
@@ -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",