Paul Menzel <pm.deb...@googlemail.com> :
[forget runtime PM]
>         [18764.958557] r8169 0000:02:00.0: PME# disabled
>         [18781.998004] r8169 0000:02:00.0: eth0: link down
                     ^^
>         [18781.998024] r8169 0000:02:00.0: eth0: link down
                     ^^
Two link events within 20 us. /me wonders...

The datasheet states "[the PHYStatus] register is updated continuously at
maximum periods of 300us." but it is far from clear that the coherency
with the interrupt status register can be taken for granted. Hayes ?

Paul, can you try the hack below ?

diff --git a/drivers/net/ethernet/realtek/r8169.c 
b/drivers/net/ethernet/realtek/r8169.c
index 7a0c800..6daca05 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -1278,6 +1278,7 @@ static void __rtl8169_check_link_status(struct net_device 
*dev,
 {
        unsigned long flags;
 
+       udelay(500);
        spin_lock_irqsave(&tp->lock, flags);
        if (tp->link_ok(ioaddr)) {
                rtl_link_chg_patch(tp);



-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20120208221644.ga25...@electric-eye.fr.zoreil.com

Reply via email to