cvs commit: src/sys/pci if_sis.c

Olivier Houchard cognet at ci0.org
Thu May 8 06:52:06 PDT 2003


On Tue, May 06, 2003 at 01:57:47PM -0700, Nate Lawson wrote:
> > @@ -1374,8 +1374,6 @@
> >  		goto fail;
> >  	}
> >
> > -	callout_handle_init(&sc->sis_stat_ch);
> > -
> >  	/*
> >  	 * Call MI attach routine.
> >  	 */
> 
> I would rather you deleted the first call to callout_handle_init() instead
> (after the "Inform the world" comment).  Reasons include poor style for
> the first one and uniformity with other sys/pci/if_* drivers which do the
> init right before ether_ifattach().
> 

I don't have any objection in this being changed.

> > @@ -1747,8 +1745,6 @@
> >  		if (ifp->if_snd.ifq_head != NULL)
> >  			sis_start(ifp);
> >  	}
> > -
> > -	sc->sis_stat_ch = timeout(sis_tick, sc, hz);
> >
> >  	SIS_UNLOCK(sc);
> >
> 
> Can you check the other sys/pci/if_* devices to see if they have the same
> bug?  I think they all re-add the timeout at the end of *_tick().
> 

The problem was really that mii_tick() called sis_miibus_statchg() which
calls sis_init() which attempts to remove the timeout (but fails at this moment
because it is not PENDING) and then re-add the timeout. 
I checked all the other if_* files and didn't find any similar scenario.

> -Nate

Olivier


More information about the cvs-src mailing list