Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-3]: src/sys/dev/ic Pull up following revision(s) (requested by ab...



details:   https://anonhg.NetBSD.org/src/rev/d0ce6791b2b5
branches:  netbsd-3
changeset: 577362:d0ce6791b2b5
user:      riz <riz%NetBSD.org@localhost>
date:      Sat Oct 15 16:39:17 2005 +0000

description:
Pull up following revision(s) (requested by abs in ticket #886):
        sys/dev/ic/i82557.c: revision 1.93
Make receiver lock-up workaround conditional on setting link1, as we have
too many false positives - should address PR/30505

diffstat:

 sys/dev/ic/i82557.c |  15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

diffs (46 lines):

diff -r 5d740388778d -r d0ce6791b2b5 sys/dev/ic/i82557.c
--- a/sys/dev/ic/i82557.c       Sat Oct 15 16:36:44 2005 +0000
+++ b/sys/dev/ic/i82557.c       Sat Oct 15 16:39:17 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: i82557.c,v 1.89.10.1 2005/08/16 11:53:22 tron Exp $    */
+/*     $NetBSD: i82557.c,v 1.89.10.2 2005/10/15 16:39:17 riz Exp $     */
 
 /*-
  * Copyright (c) 1997, 1998, 1999, 2001, 2002 The NetBSD Foundation, Inc.
@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i82557.c,v 1.89.10.1 2005/08/16 11:53:22 tron Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i82557.c,v 1.89.10.2 2005/10/15 16:39:17 riz Exp $");
 
 #include "bpfilter.h"
 #include "rnd.h"
@@ -663,12 +663,12 @@
                }
        }
 
-       /* Receiver lock-up workaround detection. */
+       /* Receiver lock-up workaround detection. (FXPF_RECV_WORKAROUND) */
+       /* Due to false positives we make it conditional on setting link1 */
        fxp_read_eeprom(sc, &data, 3, 1);
        if ((data & 0x03) != 0x03) {
-               aprint_verbose("%s: Enabling receiver lock-up workaround\n",
+               aprint_verbose("%s: May need receiver lock-up workaround\n",
                    sc->sc_dev.dv_xname);
-               sc->sc_flags |= FXPF_RECV_WORKAROUND;
        }
 }
 
@@ -1711,6 +1711,11 @@
         */
        fxp_load_ucode(sc);
 
+       if ((sc->sc_ethercom.ec_if.if_flags & IFF_LINK1))
+               sc->sc_flags |= FXPF_RECV_WORKAROUND;
+       else
+               sc->sc_flags &= ~FXPF_RECV_WORKAROUND;
+
        /*
         * This copy is kind of disgusting, but there are a bunch of must be
         * zero and must be one bits in this structure and this is the easiest



Home | Main Index | Thread Index | Old Index