diff options
author | Frank Li <[email protected]> | 2013-05-07 14:08:44 +0000 |
---|---|---|
committer | David S. Miller <[email protected]> | 2013-05-08 13:13:30 -0700 |
commit | 54309fa60b5f57b90c1842176f6045e665d21142 (patch) | |
tree | 31bb2d5574adc10d342a01b2081c9907e917c554 /fs/jbd2/commit.c | |
parent | 2c006994520f3a4bb1d47a6afe5c58ff856497ce (diff) |
net: fec: fix kernel oops when plug/unplug cable many times
reproduce steps
1. flood ping from other machine
ping -f -s 41000 IP
2. run below script
while [ 1 ]; do ethtool -s eth0 autoneg off;
sleep 3;ethtool -s eth0 autoneg on; sleep 4; done;
You can see oops in one hour.
The reason is fec_restart clear BD but NAPI may use it.
The solution is disable NAPI and stop xmit when reset BD.
disable NAPI may sleep, so fec_restart can't be call in
atomic context.
Signed-off-by: Frank Li <[email protected]>
Reviewed-by: Lucas Stach <[email protected]>
Tested-by: Lucas Stach <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'fs/jbd2/commit.c')
0 files changed, 0 insertions, 0 deletions