--- a/drivers/net/ethernet/cortina/gemini.c +++ b/drivers/net/ethernet/cortina/gemini.c @@ -1013,9 +1013,9 @@ static int geth_resize_freeq(struct gemi int ret; if (netdev->dev_id == 0) - other_netdev = geth->port1->netdev; + other_netdev = (geth->port1)? geth->port1->netdev : NULL; else - other_netdev = geth->port0->netdev; + other_netdev = (geth->port0)? geth->port0->netdev : NULL; if (other_netdev && netif_running(other_netdev)) return -EBUSY; @@ -2510,6 +2510,8 @@ static int gemini_ethernet_probe(struct if (IS_ERR(geth->base)) return PTR_ERR(geth->base); geth->dev = dev; + geth->port0 = NULL; + geth->port1 = NULL; /* Wait for ports to stabilize */ do {