
Hi Joe,
On Tue, Sep 8, 2015 at 11:32 PM, Joe Hershberger joe.hershberger@gmail.com wrote:
Hi Bin,
On Sat, Sep 5, 2015 at 9:38 PM, Bin Meng bmeng.cn@gmail.com wrote:
In eth_init(), eth_get_dev() can return NULL. We should do sanity test on eth dev before calling its start function.
Signed-off-by: Bin Meng bmeng.cn@gmail.com
net/eth.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/net/eth.c b/net/eth.c index 26520d3..6ec3a86 100644 --- a/net/eth.c +++ b/net/eth.c @@ -370,6 +370,10 @@ int eth_init(void) eth_try_another(0); /* This will ensure the new "current" attempted to probe */ current = eth_get_dev();
if (!current) {
printf("No ethernet found.\n");
break;
}
I'm not sure I get the point of this. We already have a check above...
current = eth_get_dev(); if (!current) { printf("No ethernet found.\n"); return -ENODEV; }
But this does not help. Each time eth_get_dev() is called, current can be NULL as driver's probe can fail.
} while (old_current != current); return ret;
--
Regards, Bin