[PATCH 1/2] fsl_pq_mdio: Fix kernel oops during OF address translation

David Miller davem at davemloft.net
Sat Apr 24 09:20:41 EST 2010


From: Anton Vorontsov <avorontsov at mvista.com>
Date: Fri, 23 Apr 2010 21:12:35 +0400

> Old P1020RDB device trees were not specifing tbipa address for
> MDIO nodes, which is now causing this kernel oops:
> 
>  ...
>  eth2: TX BD ring size for Q[6]: 256
>  eth2: TX BD ring size for Q[7]: 256
>  Unable to handle kernel paging request for data at address 0x00000000
>  Faulting instruction address: 0xc0015504
>  Oops: Kernel access of bad area, sig: 11 [#1]
>  ...
>  NIP [c0015504] memcpy+0x3c/0x9c
>  LR [c000a9f8] __of_translate_address+0xfc/0x21c
>  Call Trace:
>  [df839e00] [c000a94c] __of_translate_address+0x50/0x21c (unreliable)
>  [df839e50] [c01a33e8] get_gfar_tbipa+0xb0/0xe0
>  ...
> 
> The old device trees are buggy, though having a dead ethernet is
> better than a dead kernel, so fix the issue by using of_iomap().
> 
> Also, a somewhat similar issue exist in the probe() routine, though
> there the oops is only a possibility. Nonetheless, fix it too.
> 
> Signed-off-by: Anton Vorontsov <avorontsov at mvista.com>

Seems reasonable, applied to net-2.6 thanks!


More information about the Linuxppc-dev mailing list