Date: Wed, 8 Jan 2003 16:15:32 -0500 From: Peter Radcliffe <pir@pir.net> To: freebsd-mobile@FreeBSD.ORG Subject: Re: Thinkpad X30, wireless card Message-ID: <20030108211532.GF18309@pir.net> In-Reply-To: <20030105.161802.122420996.imp@bsdimp.com> References: <20030103220430.GE6054@pir.net> <20030103.201759.108374676.imp@bsdimp.com> <20030105090809.GK17859@pir.net> <20030105.161802.122420996.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
"M. Warner Losh" <imp@bsdimp.com> probably said: > At a minimum, you'll need to save the BARs in suspend (maybe setting > the power state to D3 afterwards) and then restore them afterwards > (after setting the power state to D0).... I was talking to a couple of people about the general FreeBSD compatability of the X30 and mentioned this problem. One of the people was winter and he came up with a couple of test patches, this one seems to have fixed the problem for me. Thanks winter, P. -------------------------------------------------------------------- *** sys/dev/wi/if_wi_pci.c.orig Wed Jan 8 15:45:12 2003 --- sys/dev/wi/if_wi_pci.c Wed Jan 8 16:09:04 2003 *************** *** 69,74 **** --- 69,76 ---- static int wi_pci_probe(device_t); static int wi_pci_attach(device_t); + static int wi_pci_suspend(device_t); + static int wi_pci_resume(device_t); static device_method_t wi_pci_methods[] = { /* Device interface */ *************** *** 76,81 **** --- 78,85 ---- DEVMETHOD(device_attach, wi_pci_attach), DEVMETHOD(device_detach, wi_generic_detach), DEVMETHOD(device_shutdown, wi_shutdown), + DEVMETHOD(device_suspend, wi_pci_suspend), + DEVMETHOD(device_resume, wi_pci_resume), { 0, 0 } }; *************** *** 231,235 **** --- 235,261 ---- if (error != 0) return (error); + return (0); + } + + static int + wi_pci_suspend (device_t dev) + { + return (0); + } + + static int + wi_pci_resume (device_t dev) + { + struct wi_softc *sc; + struct ifnet *ifp; + sc = device_get_softc(dev); + + if (sc->wi_bus_type != WI_BUS_PCI_NATIVE) + return (0); + + ifp = &sc->arpcom.ac_if; + ifp->if_init(ifp->if_softc); + return (0); } -------------------------------------------------------------------- -- pir pir-sig@pir.net pir-sig@net.tufts.edu To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030108211532.GF18309>