gianfar: Fix potential oops during OF address translation

gianfar driver may pass NULL pointer to the of_translate_address(),
which may lead to a kernel oops. Fix this by using of_iomap(), which
is also much simpler and shorter.

Signed-off-by: Anton Vorontsov <avorontsov@mvista.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Anton Vorontsov and committed by David S. Miller 7ce97d4f 3b1fd3e5

+1 -5
+1 -5
drivers/net/gianfar.c
··· 549 struct gfar_private *priv, const char *model) 550 { 551 u32 *queue_mask; 552 - u64 addr, size; 553 554 - addr = of_translate_address(np, 555 - of_get_address(np, 0, &size, NULL)); 556 - priv->gfargrp[priv->num_grps].regs = ioremap(addr, size); 557 - 558 if (!priv->gfargrp[priv->num_grps].regs) 559 return -ENOMEM; 560
··· 549 struct gfar_private *priv, const char *model) 550 { 551 u32 *queue_mask; 552 553 + priv->gfargrp[priv->num_grps].regs = of_iomap(np, 0); 554 if (!priv->gfargrp[priv->num_grps].regs) 555 return -ENOMEM; 556