Thread (5 messages) 5 messages, 2 authors, 2007-01-29

Re: r8169: Crash after reloading driver if network hangs

From: Francois Romieu <romieu@fr.zoreil.com>
Date: 2007-01-29 07:56:38

Bernhard Walle [off-list ref] :
[...]
Doesn't compile, I think you mean this?
Yes.
quoted hunk ↗ jump to hunk
@@ -1371,10 +1371,9 @@ static inline void rtl8169_request_timer
                return;
 
        init_timer(timer);
-       timer->expires = jiffies + RTL8169_PHY_TIMEOUT;
        timer->data = (unsigned long)(dev);
        timer->function = rtl8169_phy_timer;
-       add_timer(timer);
+       mod_timer(timer, jiffies + RTL8169_PHY_TIMEOUT);
 }
But I think _this_ change is unnecessary, ...
add_timer() is not supposed to modify an existing timer whereas mod_timer()
encompasses both and the race exists in both direction as netif_running()
is true as soon as dev_open() starts but way before dev->open() completes.

[...]
... but that looks good (better than my patch) and should resolve the issue,
too. I can't test because it's triggered only if the network hangs and you
know, the last one isn't reproducable.
There will be something to test in the merge of realtek's stuff #2.

-- 
Ueimor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help