mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +00:00
ar71xx: ag71xx: Prevent kernel oops for board def
The driver is written in such a way that with a board defintion that connects a fixed phy, mdio, and switch in a certain way, a kernel oops could result because of lack of previously probed mdio bus. This commit allows for easier debugging in this case by casting the correct blame with serial console messages. Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This commit is contained in:
parent
0b9f4e8808
commit
7a3e133751
@ -76,10 +76,24 @@ void ag71xx_phy_stop(struct ag71xx *ag)
|
|||||||
|
|
||||||
static int ag71xx_phy_connect_fixed(struct ag71xx *ag)
|
static int ag71xx_phy_connect_fixed(struct ag71xx *ag)
|
||||||
{
|
{
|
||||||
struct device *dev = &ag->pdev->dev;
|
struct platform_device *pdev = ag->pdev;
|
||||||
|
struct device *dev = NULL;
|
||||||
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
|
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
if (!pdev)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
dev = &pdev->dev;
|
||||||
|
|
||||||
|
if (!dev)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
|
if (!ag->phy_dev) {
|
||||||
|
pr_err("Missing PHY for %s", dev_name(dev));
|
||||||
|
return -ENODEV;
|
||||||
|
}
|
||||||
|
|
||||||
/* use fixed settings */
|
/* use fixed settings */
|
||||||
switch (pdata->speed) {
|
switch (pdata->speed) {
|
||||||
case SPEED_10:
|
case SPEED_10:
|
||||||
|
Loading…
Reference in New Issue
Block a user