diff options
author | Madalin Bucur <madalin.bucur@freescale.com> | 2013-06-17 13:30:41 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-07-15 21:48:19 (GMT) |
commit | 7b709cf81e39f359ba9a180cfc32370658299f52 (patch) | |
tree | a230db68710da572aed60b8501c5b5384efffba5 | |
parent | 04f337d7cb718d48512a834a4f29a2b697dd51f4 (diff) | |
download | linux-fsl-qoriq-7b709cf81e39f359ba9a180cfc32370658299f52.tar.xz |
dpaa_eth: check dpa_mac_probe() result
Check for NULL returns from dpa_mac_probe() when probing private
and shared interfaces.
If a MACless interface is mistakenly identified with the old
compatibility string "fsl,dpa-ethernet" instead of the required
"fsl,dpa-ethernet-macless" compatibility string the interface
is probed as private interface and dpa_mac_probe() fails.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: I221d00aafb6ba25f32b7a451610f1e6185bdb7ca
Reviewed-on: http://git.am.freescale.net:8181/3091
Reviewed-by: Sovaiala Cristian-Constantin-B39531 <Cristian.Sovaiala@freescale.com>
Reviewed-by: Radulescu Ruxandra Ioana-B05472 <ruxandra.radulescu@freescale.com>
Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth.c | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c index f121d4f..67d53d0 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth.c @@ -3070,6 +3070,7 @@ out_error: } static const struct of_device_id dpa_match[]; + static int dpaa_eth_priv_probe(struct platform_device *_of_dev) { @@ -3119,7 +3120,7 @@ dpaa_eth_priv_probe(struct platform_device *_of_dev) priv->msg_enable = netif_msg_init(debug, -1); mac_dev = dpa_mac_probe(_of_dev); - if (IS_ERR(mac_dev)) { + if (IS_ERR(mac_dev) || !mac_dev) { err = PTR_ERR(mac_dev); goto mac_probe_failed; } diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c index 3bb60e8..2b75b1e 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c @@ -647,7 +647,7 @@ dpaa_eth_shared_probe(struct platform_device *_of_dev) priv->msg_enable = netif_msg_init(debug, -1); mac_dev = dpa_mac_probe(_of_dev); - if (IS_ERR(mac_dev)) { + if (IS_ERR(mac_dev) || !mac_dev) { err = PTR_ERR(mac_dev); goto mac_probe_failed; } |