Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 May 2001 11:22:42 -0700 (PDT)
From:      Bill Paul <wpaul@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/pci if_sk.c
Message-ID:  <200105091822.f49IMgL26127@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
wpaul       2001/05/09 11:22:42 PDT

  Modified files:
    sys/pci              if_sk.c 
  Log:
  The sk driver developed a bug when the multicast code was changed to
  use TAILQ macros. The sk_attach_xmac() routine calls sk_init_xmac()
  before doing the transceiver probe, but *before* ether_ifattach()
  is called. This causes sk_init_xmac() to call sk_setmulti(), which
  tries to do a TAILQ_FOREACH(), which it can't do because ether_ifattach()
  hasn't done a TAILQ_INIT() yet. This causes a NULL pointer dereference
  and panic in sk_setmulti() at driver load/initialization time.
  
  Fixed by calling ether_ifattach() before the MII probe.
  
  The code in RELENG_4 still uses the old way of enumerating the
  multicast list and doesn't have this problem. Yet.
  
  Revision  Changes    Path
  1.42      +9 -8      src/sys/pci/if_sk.c


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105091822.f49IMgL26127>