[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTikasuZbf6ymCWBjAW3oq7+BBox1N06jPZqTBQr4@mail.gmail.com>
Date: Sat, 25 Sep 2010 16:58:10 -0400
From: Jeff Garzik <jgarzik@...ox.com>
To: Ondrej Zary <linux@...nbow-software.org>
Cc: netdev@...r.kernel.org,
Kernel development list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] de2104x: fix TP link detection
On Sat, Sep 25, 2010 at 4:39 PM, Ondrej Zary <linux@...nbow-software.org> wrote:
> @@ -1160,14 +1164,29 @@ no_link_yet:
> static void de_media_interrupt (struct de_private *de, u32 status)
> {
> if (status & LinkPass) {
> + /* Ignore if current media is AUI or BNC and we can't use TP */
> + if ((de->media_type == DE_MEDIA_AUI ||
> + de->media_type == DE_MEDIA_BNC) &&
> + (de->media_lock ||
> + !de_ok_to_advertise(de, DE_MEDIA_TP_AUTO)))
> + return;
> + /* If current media is not TP, change it to TP */
> + if ((de->media_type == DE_MEDIA_AUI ||
> + de->media_type == DE_MEDIA_BNC)) {
> + de->media_type = DE_MEDIA_TP_AUTO;
> + de_stop_rxtx(de);
> + de_set_media(de);
> + de_start_rxtx(de);
> + }
> de_link_up(de);
> mod_timer(&de->media_timer, jiffies + DE_TIMER_LINK);
> return;
> }
>
> BUG_ON(!(status & LinkFail));
> -
> - if (netif_carrier_ok(de->dev)) {
> + /* Mark the link as down only if current media is TP */
> + if (netif_carrier_ok(de->dev) && de->media_type != DE_MEDIA_AUI &&
> + de->media_type != DE_MEDIA_BNC) {
> de_link_down(de);
> mod_timer(&de->media_timer, jiffies + DE_TIMER_NO_LINK);
> }
Acked-by: Jeff Garzik <jgarzik@...hat.com>
Powered by blists - more mailing lists