generic: ar8216: clear driver specific data pointer in phy_device
This is needed to avoid a NULL pointer dereference:
[ 19.525270] Unable to handle kernel paging request for data at address 0x00000018
[ 19.532750] Faulting instruction address: 0xc016e104
[ 19.537714] Oops: Kernel access of bad area, sig: 11 [#1]
[ 19.543102] P1010 RDB
[ 19.545365] Modules linked in: booke_wdt nf_nat_irc nf_nat_ftp nf_conntrack_irc nf_conntrack_ftp ipt_MASQUERADE iptable_nat xt_nat d
[ 19.590725] NIP:
c016e104 LR:
c0171490 CTR:
00000000
[ 19.595681] REGS:
c4bc3c10 TRAP: 0300 Tainted: G W O (3.7.6)
[ 19.602284] MSR:
00029000 <CE,EE,ME> CR:
82002022 XER:
20000000
[ 19.608381] DEAR:
00000018, ESR:
00000000
[ 19.612382] TASK =
c4cd9c80[2070] 'ifconfig' THREAD:
c4bc2000
GPR00:
00000001 c4bc3cc0 c4cd9c80 00000000 c7811000 00000000 00000000 0000e8ec
GPR08:
0000e8eb 00000000 00029000 00000001 00000000 100801f8 1005c51c 1005c514
GPR16:
1005c468 1005c54c 1005c258 1005c530 10060000 00000000 c7811000 ffff8914
GPR24:
c7815030 c793e400 10063adb 00000000 c7811000 c045594c c78ca600 c7815000
[ 19.646352] NIP [
c016e104] register_switch+0x98/0x2d0
[ 19.651397] LR [
c0171490] ar8216_config_init+0x2d8/0x3f4
[ 19.656697] Call Trace:
[ 19.659138] [
c4bc3cc0] [
c0170490] ar8216_mii_read+0x64/0xc4 (unreliable)
[ 19.665835] [
c4bc3d00] [
c0171490] ar8216_config_init+0x2d8/0x3f4
[ 19.671835] [
c4bc3d20] [
c016cf8c] phy_init_hw+0x50/0x6c
[ 19.677053] [
c4bc3d30] [
c016d078] phy_attach_direct+0xd0/0xf8
[ 19.682793] [
c4bc3d50] [
c016d154] phy_connect_direct+0x24/0x68
[ 19.688621] [
c4bc3d70] [
c0183b70] of_phy_connect+0x48/0x6c
[ 19.694102] [
c4bc3d90] [
c0175aac] gfar_enet_open+0x254/0x3d8
[ 19.699755] [
c4bc3db0] [
c019acc4] __dev_open+0xc0/0x120
[ 19.704975] [
c4bc3dd0] [
c019af98] __dev_change_flags+0xd4/0x15c
[ 19.710888] [
c4bc3df0] [
c019b0d4] dev_change_flags+0x1c/0x60
[ 19.716544] [
c4bc3e10] [
c01ebb94] devinet_ioctl+0x290/0x690
[ 19.722111] [
c4bc3e70] [
c01ec8d4] inet_ioctl+0x88/0xbc
[ 19.727245] [
c4bc3e80] [
c0186b98] sock_ioctl+0x258/0x294
[ 19.732551] [
c4bc3ea0] [
c009c00c] do_vfs_ioctl+0x6a4/0x728
[ 19.738031] [
c4bc3f10] [
c009c0d4] sys_ioctl+0x44/0x70
[ 19.743077] [
c4bc3f40] [
c000c74c] ret_from_syscall+0x0/0x3c
[ 19.748646] --- Exception: c01 at 0x48091b34
[ 19.748646] LR = 0x480e4b64
[ 19.756033] Instruction dump:
[ 19.758991]
2f830000 907f0050 3860fff4 419e021c 837f0000 38000000 901f0038 901f0040
[ 19.766744]
901f003c 7f600034 5400d97e 0f000000 <
801b0018>
2f800000 40be0010 801b001c
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
SVN-Revision: 35497