[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070129075606.GA10598@electric-eye.fr.zoreil.com>
Date: Mon, 29 Jan 2007 08:56:06 +0100
From: Francois Romieu <romieu@...zoreil.com>
To: netdev@...r.kernel.org
Cc: Bernhard Walle <bwalle@...e.de>
Subject: Re: r8169: Crash after reloading driver if network hangs
Bernhard Walle <bwalle@...e.de> :
[...]
> Doesn't compile, I think you mean this?
Yes.
> @@ -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
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists