Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 264be2f5 authored by Sergei Shtylyov's avatar Sergei Shtylyov Committed by David S. Miller
Browse files

sh_eth: exit probe with unknown register layout



Exit the driver's probe() method when the register layout is unknown as the
driver would cause kernel oops in this case anyway.

While at it, move the corresponding error message printout and convert it from
pr_err() to dev_err().

Suggested-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7c169445
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -2703,7 +2703,6 @@ static const u16 *sh_eth_get_register_offset(int register_type)
		reg_offset = sh_eth_offset_fast_sh3_sh2;
		break;
	default:
		pr_err("Unknown register type (%d)\n", register_type);
		break;
	}

@@ -2859,6 +2858,12 @@ static int sh_eth_drv_probe(struct platform_device *pdev)
		mdp->cd = (struct sh_eth_cpu_data *)match->data;
	}
	mdp->reg_offset = sh_eth_get_register_offset(mdp->cd->register_type);
	if (!mdp->reg_offset) {
		dev_err(&pdev->dev, "Unknown register type (%d)\n",
			mdp->cd->register_type);
		ret = -EINVAL;
		goto out_release;
	}
	sh_eth_set_default_cpu_data(mdp->cd);

	/* set function */