diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2010-09-20 07:40:43 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2010-09-20 07:40:43 +0000 |
commit | a8d7c69788c334b14d463ae7d62315f192665c1a (patch) | |
tree | 2c4568c37f5dd209be9f93da275f6571a5a0a739 /sys/dev/pci/if_sk.c | |
parent | 6457664f9f4ba52fa78a62ee7a55d34402deef45 (diff) |
Stop doing shutdown hooks in network drivers where possible. We already
take all interfaces down, via their xxstop routines. Claudio and I have
verified that none of the shutdown hooks do much extra beyond what xxstop
was already doing; it is largely a pile of junk.
ok claudio, some early comments by sthen; also read by matthew, jsg
Diffstat (limited to 'sys/dev/pci/if_sk.c')
-rw-r--r-- | sys/dev/pci/if_sk.c | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/sys/dev/pci/if_sk.c b/sys/dev/pci/if_sk.c index f95bb218b8f..6ed6e3dd1ec 100644 --- a/sys/dev/pci/if_sk.c +++ b/sys/dev/pci/if_sk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_sk.c,v 1.157 2010/05/19 15:27:35 oga Exp $ */ +/* $OpenBSD: if_sk.c,v 1.158 2010/09/20 07:40:38 deraadt Exp $ */ /* * Copyright (c) 1997, 1998, 1999, 2000 @@ -134,7 +134,6 @@ int skc_probe(struct device *, void *, void *); void skc_attach(struct device *, struct device *self, void *aux); int skc_detach(struct device *, int); -void skc_shutdown(void *); int sk_probe(struct device *, void *, void *); void sk_attach(struct device *, struct device *self, void *aux); int sk_detach(struct device *, int); @@ -1237,8 +1236,6 @@ sk_attach(struct device *parent, struct device *self, void *aux) if_attach(ifp); ether_ifattach(ifp); - sc_if->sk_sdhook = shutdownhook_establish(skc_shutdown, sc); - DPRINTFN(2, ("sk_attach: end\n")); return; @@ -1271,9 +1268,6 @@ sk_detach(struct device *self, int flags) /* Delete any remaining media. */ ifmedia_delete_instance(&sc_if->sk_mii.mii_media, IFM_INST_ANY); - if (sc_if->sk_sdhook != NULL) - shutdownhook_disestablish(sc_if->sk_sdhook); - ether_ifdetach(ifp); if_detach(ifp); @@ -1714,23 +1708,6 @@ sk_watchdog(struct ifnet *ifp) } } -void -skc_shutdown(void *v) -{ - struct sk_softc *sc = v; - - DPRINTFN(2, ("sk_shutdown\n")); - - /* Turn off the 'driver is loaded' LED. */ - CSR_WRITE_2(sc, SK_LED, SK_LED_GREEN_OFF); - - /* - * Reset the GEnesis controller. Doing this should also - * assert the resets on the attached XMAC(s). - */ - sk_reset(sc); -} - static __inline int sk_rxvalid(struct sk_softc *sc, u_int32_t stat, u_int32_t len) { |