Re: Thinkpad X30, wireless card
Peter Radcliffe <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.mobile |
|---|---|
| Message-ID | <[email protected]> |
"M. Warner Losh" <[email protected]> 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 [email protected] [email protected] To Unsubscribe: send mail to [email protected] with "unsubscribe freebsd-mobile" in the body of the message