linux/drivers/net
roger b664a51a07 net: stmmac: replace msleep with mdelay between spinlock and spinunlock
stmmac_mdio_reset()
{
	...
	msleep()
	...
}

stmmac_resume()
{
	...
	spin_lock_irqsave()
	...
	stmmac_mdio_reset()
	...
	spin_unlock_irqrestore()
}

The code above will cause the following crash when resuming.

[   50.988242] Call trace:
[   50.988489] [<ffffffc0000883b0>] dump_backtrace+0x0/0x104
[   50.988979] [<ffffffc0000884c8>] show_stack+0x14/0x1c
[   50.989440] [<ffffffc0003033f8>] dump_stack+0x90/0xb0
[   50.989899] [<ffffffc0000bb4d4>] __schedule_bug+0x44/0x5c
[   50.990388] [<ffffffc000949d00>] __schedule+0x90/0x6d8
[   50.990851] [<ffffffc00094a44c>] schedule+0x90/0xb0
[   50.991295] [<ffffffc00094cdbc>] schedule_timeout+0x1f0/0x254
[   50.991812] [<ffffffc00094ce90>] schedule_timeout_uninterruptible+0x20/0x28
[   50.992437] [<ffffffc0000ef2ac>] msleep+0x18/0x24
[   50.992870] [<ffffffc0004b2fc0>] stmmac_mdio_reset+0x120/0x194
[   50.993397] [<ffffffc0004b1c40>] stmmac_resume+0x118/0x134
[   50.993893] [<ffffffc0004b64bc>] stmmac_pltfr_resume+0x30/0x3c
[   50.994421] [<ffffffc00045b44c>] platform_pm_resume+0x2c/0x54
[   50.994943] [<ffffffc000465350>] dpm_run_callback+0xa8/0x1e0
[   50.995452] [<ffffffc000465fd4>] device_resume+0x158/0x190
[   50.995945] [<ffffffc000466178>] dpm_resume+0x16c/0x364
[   50.996417] [<ffffffc000466384>] dpm_resume_end+0x14/0x28
[   50.996905] [<ffffffc0000d8bfc>] suspend_devices_and_enter+0x114/0x2f4
[   50.997489] [<ffffffc0000d93c8>] pm_suspend+0x5ec/0x658
[   50.997960] [<ffffffc0000d7748>] state_store+0x50/0x88
[   50.998427] [<ffffffc000305594>] kobj_attr_store+0x18/0x28
[   50.998926] [<ffffffc0001ec038>] sysfs_kf_write+0x44/0x4c
[   50.999414] [<ffffffc0001eb3f4>] kernfs_fop_write+0x110/0x16c
[   50.999935] [<ffffffc00018d208>] __vfs_write+0x28/0xd0
[   51.000400] [<ffffffc00018d464>] vfs_write+0xb0/0x180
[   51.000858] [<ffffffc00018d600>] SyS_write+0x48/0x84
[   51.001311] [<ffffffc0000844b0>] el0_svc_naked+0x24/0x28
[   51.066648] ERROR stmmaceth/eth0, debugfs create directory failed
[   51.067196] stmmac_hw_setup: failed debugFS registration

Change-Id: Iee92ac9bae18a6e8fb980434c7004dd33b43b638
Signed-off-by: roger <roger.chen@rock-chips.com>
2016-04-08 11:46:14 +08:00
..
appletalk
arcnet rk: revert to v3.10 2015-11-11 15:57:28 +08:00
bonding bonding: Fix ARP monitor validation 2016-03-03 15:07:06 -08:00
caif net: caif: check return value of alloc_netdev 2015-11-09 11:31:13 -05:00
can can: gs_usb: fixed disconnect bug by removing erroneous use of kfree() 2016-03-16 08:42:59 -07:00
cris
dsa net: dsa: fix mv88e6xxx switches 2016-03-03 15:07:04 -08:00
ethernet net: stmmac: replace msleep with mdelay between spinlock and spinunlock 2016-04-08 11:46:14 +08:00
fddi net/fddi: remove HWM_REVERSE() macro 2015-08-13 21:12:17 -07:00
fjes fjes: fix inconsistent indenting 2015-11-15 17:09:23 -05:00
hamradio mkiss: fix scribble on freed memory 2016-01-06 15:06:27 -05:00
hippi
hyperv rk: revert to v3.10 2015-11-11 15:57:28 +08:00
ieee802154 rk: revert to v3.10 2015-11-11 15:57:28 +08:00
ipvlan ipvlan: fix use after free of skb 2015-11-17 14:39:29 -05:00
irda Merge branch 'torvalds/master' 2015-11-11 19:52:00 +08:00
phy net: phy: add sysfs node for reading PHY's registers 2016-04-06 18:20:01 +08:00
plip
ppp Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2016-03-24 15:45:58 +08:00
slip ppp, slip: Validate VJ compression slot parameters completely 2015-11-02 16:25:00 -05:00
team team: Replace rcu_read_lock with a mutex in team_vlan_rx_kill_vid 2016-01-31 11:29:01 -08:00
usb Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2016-03-24 15:45:58 +08:00
vmxnet3 Driver: Vmxnet3: Fix regression caused by 5738a09 2016-01-06 16:20:13 -05:00
wan wan/x25: Fix use-after-free in x25_asy_open_tty() 2015-12-01 15:17:42 -05:00
wimax
wireless Merge branch 'linux-linaro-lsk-v4.4-android' of git://git.linaro.org/kernel/linux-linaro-stable.git 2016-03-24 15:45:58 +08:00
xen-netback xen: bug fixes for 4.4-rc5 2015-12-18 12:24:52 -08:00
dummy.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
eql.c
geneve.c geneve: initialize needed_headroom 2015-12-23 22:28:29 -05:00
ifb.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00
Kconfig rk: revert to v3.10 2015-11-11 15:57:28 +08:00
LICENSE.SRC
loopback.c net: loopback: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
macvlan.c macvlan: fix leak in macvlan_handle_frame 2015-11-17 14:39:29 -05:00
macvtap.c net: rename SOCK_ASYNC_NOSPACE and SOCK_ASYNC_WAITDATA 2015-12-01 15:45:05 -05:00
Makefile fjes: Introduce FUJITSU Extended Socket Network Device driver 2015-08-24 14:06:33 -07:00
mdio.c
mii.c
netconsole.c netconsole: use per-attribute show and store methods 2015-10-13 22:17:51 -07:00
nlmon.c net: nlmon: convert to using IFF_NO_QUEUE 2015-08-18 11:55:05 -07:00
ntb_netdev.c NTB: Add flow control to the ntb_netdev 2015-09-07 15:17:08 -04:00
rionet.c bus: subsys: update return type of ->remove_dev() to void 2015-08-05 17:08:14 -07:00
sb1000.c
Space.c
sungem_phy.c
tun.c net: Only NET_ADMIN is allowed to fully control TUN interfaces. 2016-02-16 13:51:14 -08:00
veth.c veth: don’t modify ip_summed; doing so treats packets with bad checksums as good. 2015-12-22 15:15:34 -05:00
virtio_net.c virtio-net: Stop doing DMA from the stack 2015-12-07 16:10:53 +02:00
vrf.c net: Propagate lookup failure in l3mdev_get_saddr to caller 2016-01-04 22:58:30 -05:00
vxlan.c tunnels: Allow IPv6 UDP checksums to be correctly controlled. 2016-03-03 15:07:04 -08:00
xen-netfront.c rk: revert to v3.10 2015-11-11 15:57:28 +08:00