There is a link-change interrupt pending in the PHY that doesn't get serviced for some reason and blocks subsequent interrupts. Running the following clears the interrupt and things start working properly afterwards:
$ mii-tool -vv eth0
Using SIOCGMIIPHY=0x8947
eth0: negotiated 1000baseT-FD flow-control, link ok
registers for MII PHY 1:
1040 79ed 0007 c132 05e1 cde1 000f 0000
0000 0200 0800 0000 0000 0000 0000 3000
0000 0000 0088 0000 0000 0000 3200 0004
0040 a000 a000 0000 a035 0000 0000 0000
product info: vendor 00:01:f0, model 19 rev 2
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
There is a link-change interrupt pending in the PHY that doesn't get serviced for some reason and blocks subsequent interrupts. Running the following clears the interrupt and things start working properly afterwards:
$ mii-tool -vv eth0
Using SIOCGMIIPHY=0x8947
eth0: negotiated 1000baseT-FD flow-control, link ok
registers for MII PHY 1:
1040 79ed 0007 c132 05e1 cde1 000f 0000
0000 0200 0800 0000 0000 0000 0000 3000
0000 0000 0088 0000 0000 0000 3200 0004
0040 a000 a000 0000 a035 0000 0000 0000
product info: vendor 00:01:f0, model 19 rev 2
basic mode: autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control
link partner: 1000baseT-FD 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control