linux_dsm_epyc7002/drivers/net/ethernet
Mark Salter b0ab0afaeb net: eth: xgene: fix booting with devicetree
Commit de7b5b3d79 ("net: eth: xgene: change APM X-Gene SoC platform
ethernet to support ACPI") breaks booting with devicetree with UEFI
firmware. In that case, I get:

Unhandled fault: synchronous external abort (0x96000010) at 0xfffffc0000620010
 Internal error: : 96000010 [#1] SMP
 Modules linked in: vfat fat xfs libcrc32c ahci_xgene libahci_platform libahci
 CPU: 7 PID: 634 Comm: NetworkManager Not tainted 4.0.0-rc1+ #4
 Hardware name: AppliedMicro Mustang/Mustang, BIOS 1.1.0-rh-0.14 Mar  1 2015
 task: fffffe03d4c7e100 ti: fffffe03d4e24000 task.ti: fffffe03d4e24000
 PC is at xgene_enet_rd_mcx_mac.isra.11+0x58/0xd4
 LR is at xgene_gmac_tx_enable+0x2c/0x50
 pc : [<fffffe000069d6fc>] lr : [<fffffe000069dcc4>] pstate: 80000145
 sp : fffffe03d4e27590
 x29: fffffe03d4e27590 x28: 0000000000000000
 x27: fffffe03d4e277c0 x26: fffffe03da8fda10
 x25: fffffe03d4e2760c x24: fffffe03d49e28c0
 x23: fffffc0000620004 x22: 0000000000000000
 x21: fffffc0000620000 x20: fffffc0000620010
 x19: 000000000000000b x18: 000003ffd4a96020
 x17: 000003ff7fc1f7a0 x16: fffffe000079b9cc
 x15: 0000000000000000 x14: 0000000000000000
 x13: 0000000000000000 x12: fffffe03d4e24000
 x11: fffffe03d4e27da0 x10: 0000000000000001
 x9 : 0000000000000000 x8 : fffffe03d4e27a20
 x7 : 0000000000000000 x6 : 00000000ffffffef
 x5 : fffffe000105f7d0 x4 : fffffe00007ca8c8
 x3 : fffffe03d4e2760c x2 : 0000000000000000
 x1 : fffffc0000620000 x0 : 0000000040000000

 Process NetworkManager (pid: 634, stack limit = 0xfffffe03d4e24028)
 Stack: (0xfffffe03d4e27590 to 0xfffffe03d4e28000)
 ...
 Call trace:
 [<fffffe000069d6fc>] xgene_enet_rd_mcx_mac.isra.11+0x58/0xd4
 [<fffffe000069dcc0>] xgene_gmac_tx_enable+0x28/0x50
 [<fffffe00006a112c>] xgene_enet_open+0x2c/0x130
 [<fffffe00007b9254>] __dev_open+0xc8/0x148
 [<fffffe00007b956c>] __dev_change_flags+0x90/0x158
 [<fffffe00007b9664>] dev_change_flags+0x30/0x70
 [<fffffe00007c8ab8>] do_setlink+0x278/0x870
 [<fffffe00007c95bc>] rtnl_newlink+0x404/0x6a8
 [<fffffe00007c8040>] rtnetlink_rcv_msg+0x98/0x218
 [<fffffe00007e78e4>] netlink_rcv_skb+0xe0/0xf8
 [<fffffe00007c7f94>] rtnetlink_rcv+0x30/0x44
 [<fffffe00007e6f2c>] netlink_unicast+0xfc/0x210
 [<fffffe00007e75b8>] netlink_sendmsg+0x498/0x5ac
 [<fffffe00007990b8>] do_sock_sendmsg+0xa4/0xcc
 [<fffffe000079a958>] ___sys_sendmsg+0x1fc/0x208
 [<fffffe000079b984>] __sys_sendmsg+0x4c/0x94
 [<fffffe000079b9f8>] SyS_sendmsg+0x2c/0x3c

The problem here is that the enet hw clocks are not getting
initialized because of a test to avoid the initialization if
UEFI is used to boot. This is an incorrect test. When booting
with UEFI and devicetree, the kernel must still initialize
the enet hw clocks. If booting with ACPI, the clock hw is
not exposed to the kernel and it is that case where we want
to avoid initializing clocks.

Signed-off-by: Mark Salter <msalter@redhat.com>
Acked-by: Feng Kan <fkan@apm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-03-05 15:40:10 -05:00
..
3com drivers/net: Use setup_timer and mod_timer 2015-02-11 19:40:12 -08:00
8390 net: 8390: axnet_cs: Use setup_timer and mod_timer 2015-03-01 13:40:23 -05:00
adaptec
adi
aeroflex
agere et131x: use msecs_to_jiffies for conversions 2015-02-11 19:37:43 -08:00
allwinner net: sun4i-emac: fix error return code 2014-12-31 19:19:00 -05:00
alteon net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
altera altera_tse: Fixes in NAPI and interrupt handling paths 2015-02-23 18:07:36 -05:00
amd amd-xgbe: Request IRQs only after driver is fully setup 2015-02-27 17:13:02 -05:00
apm net: eth: xgene: fix booting with devicetree 2015-03-05 15:40:10 -05:00
apple
arc
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-15 00:53:17 -05:00
broadcom bnx2x: Force fundamental reset for EEH recovery 2015-03-05 15:38:24 -05:00
brocade net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
cadence net/macb: fix sparse warning 2015-02-05 16:03:28 -08:00
calxeda
chelsio cxgb4: Fix PCI-E Memory window interface for big-endian systems 2015-02-27 15:53:43 -05:00
cirrus Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-05 14:33:28 -08:00
cisco enic: do notify_check before returning credits 2015-02-27 15:53:43 -05:00
davicom dm9000: Add regulator and reset support to dm9000 2015-01-15 14:08:07 -05:00
dec net/tulip: don't warn about unknown ARM architecture 2015-02-02 18:53:34 -08:00
dlink
emulex MODULE_DEVICE_TABLE: fix some callsites 2015-02-13 21:21:40 -08:00
faraday
freescale net: fec: fix rcv is not last issue when do suspend/resume test 2015-03-04 15:56:49 -05:00
fujitsu
hisilicon net: hip04: add missing MODULE_LICENSE 2015-02-02 18:51:03 -08:00
hp hp100: fix misspelling of current function in string 2014-12-09 16:18:47 -05:00
i825xx
ibm ibmveth: Add function to enable live MAC address changes 2015-03-03 14:36:17 -05:00
icplus
intel i40e: check pointers before use 2015-02-26 04:54:03 -08:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-01-27 16:59:56 -08:00
mellanox net/mlx4_en: Disbale GRO for incoming loopback/selftest packets 2015-03-02 15:27:19 -05:00
micrel ksz884x: Use setup_timer 2014-12-30 18:34:23 -05:00
microchip
moxa
myricom myri10ge: Delete an unnecessary check before the function call "kfree" 2015-02-05 00:25:10 -08:00
natsemi net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
neterion vxge: fix sparse warning 2015-02-05 16:07:06 -08:00
nuvoton
nvidia net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
nxp
octeon
oki-semi
packetengines
pasemi net: pasemi: Use setup_timer and mod_timer 2015-03-01 13:40:23 -05:00
qlogic netxen_nic: Fix trivial typos in comments 2015-03-01 13:40:22 -05:00
qualcomm net: qualcomm: Fix dependency 2014-11-11 18:12:32 -05:00
rdc
realtek r8169: Fix trivial typo in rtl_check_firmware 2015-02-24 16:26:07 -05:00
renesas sh_eth: Really fix padding of short frames on TX 2015-03-02 21:30:56 -05:00
rocker rocker: silence shift wrapping warning 2015-02-27 15:53:44 -05:00
samsung Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-02-09 14:35:57 -08:00
seeq
sfc ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
sgi
silan
sis
smsc ARM: fix typos in smc91x platform data 2015-03-04 23:32:26 -05:00
stmicro stmmac: check IRQ availability early on probe 2015-03-04 15:43:26 -05:00
sun niu: fix error handling in niu_class_to_ethflow() 2015-02-28 12:58:25 -05:00
tehuti net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 15:30:07 -08:00
tile tile: use %*pb[l] to print bitmaps including cpumasks and nodemasks 2015-02-13 21:21:37 -08:00
toshiba
tundra
via mii: Handle link state changes for forced modes in mii_check_media() 2015-01-19 15:43:42 -05:00
wiznet Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
xilinx net: axienet: fix error return code 2014-12-31 19:19:00 -05:00
xircom
xscale ethernet/ixp4xx: prevent allmulti from clobbering promisc 2015-02-20 15:49:07 -05:00
dnet.c net: dnet: fix dnet_poll() 2015-01-11 21:44:55 -05:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c net: rename vlan_tx_* helpers since "tx" is misleading there 2015-01-13 17:51:08 -05:00
jme.h
Kconfig net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
korina.c
lantiq_etop.c
Makefile net: s6gmac: remove driver 2014-12-22 16:29:03 -05:00
netx-eth.c