d95ecf8a906fb3dd2d80808bfedcd1f25cf03b09
[openwrt/openwrt.git] /
1 From ac03137b2283c45ad0538188728d9691fa7a4883 Mon Sep 17 00:00:00 2001
2 From: Razvan Stefanescu <razvan.stefanescu@nxp.com>
3 Date: Mon, 30 Apr 2018 11:27:27 +0300
4 Subject: [PATCH] staging: dpaa2-evb: Defer probe if no mc portal is found
5
6 Signed-off-by: Razvan Stefanescu <razvan.stefanescu@nxp.com>
7 ---
8 drivers/staging/fsl-dpaa2/evb/evb.c | 8 ++++++--
9 1 file changed, 6 insertions(+), 2 deletions(-)
10
11 --- a/drivers/staging/fsl-dpaa2/evb/evb.c
12 +++ b/drivers/staging/fsl-dpaa2/evb/evb.c
13 @@ -1206,10 +1206,14 @@ static int evb_probe(struct fsl_mc_devic
14
15 err = fsl_mc_portal_allocate(evb_dev, FSL_MC_IO_ATOMIC_CONTEXT_PORTAL,
16 &priv->mc_io);
17 - if (unlikely(err)) {
18 - dev_err(dev, "fsl_mc_portal_allocate err %d\n", err);
19 + if (err) {
20 + if (err == -ENXIO)
21 + err = -EPROBE_DEFER;
22 + else
23 + dev_err(dev, "fsl_mc_portal_allocate err %d\n", err);
24 goto err_free_netdev;
25 }
26 +
27 if (!priv->mc_io) {
28 dev_err(dev, "fsl_mc_portal_allocate returned null handle but no error\n");
29 err = -EFAULT;