freebsd-dev/sys/pci
Nate Lawson 54f1f1d1e6 Clean up locking and resource management for pci/if_*
- Remove locking of the softc in the attach method, instead depending on
  bus_setup_intr being at the end of attach (delaying interrupt enable until
  after ether_ifattach is called)
- Call *_detach directly in the error case of attach, depending on checking
  in detach to only free resources that were allocated.  This puts all
  resource freeing in one place, avoiding thinkos that lead to memory leaks.
- Add bus_child_present check to calls to *_stop in the detach method to
  be sure hw is present before touching its registers.
- Remove bzero softc calls since device_t should do this for us.
- dc: move interrupt allocation back where it was before.  It was unnecessary
  to move it.  This reverts part of 1.88
- rl: move irq allocation before ether_ifattach.  Problems might have been
  caused by allocating the irq after enabling interrupts on the card.
- rl: call rl_stop before ether_ifdetach
- sf: call sf_stop before ether_ifdetach
- sis: add missed free of sis_tag
- sis: check errors from tag creation
- sis: move dmamem_alloc and dmamap_load to happen at same time as tag creation
- sk: remove duplicate initialization of sk_dev
- ste: add missed bus_generic_detach
- ti: call ti_stop before ether_ifdetach
- ti: add missed error setting in ti_rdata alloc failure
- vr: add missed error setting in I/O, memory mapping cases
- xl: add missed error setting in I/O, memory mapping cases
- xl: remove multi-level goto on attach failure
- xl: move dmamem_alloc and dmamap_load to happen at same time as tag creation
- Calls to free(9) are unconditional because it is valid to call free with a
  null pointer.

Reviewed by:	imp, mdodd
2003-03-31 17:29:43 +00:00
..
agp_ali.c Remove a bunch of #include "opt_pci.h". 2002-11-13 17:40:15 +00:00
agp_amd.c Remove a bunch of #include "opt_pci.h". 2002-11-13 17:40:15 +00:00
agp_i810.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
agp_if.m
agp_intel.c Add support for the Intel 82820 UP-only AGP bridge. 2003-01-11 20:08:28 +00:00
agp_sis.c Add pci id# for the sis648 2003-03-13 07:55:53 +00:00
agp_via.c Remove a bunch of #include "opt_pci.h". 2002-11-13 17:40:15 +00:00
agp.c - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
agppriv.h
agpreg.h Add agpreg.h missed in commit to agp_i810 (adding i85x/i86x AGP support). 2003-02-13 19:24:19 +00:00
agpvar.h
alpm.c
amdpm.c
cy_pci.c
dc21040reg.h
if_dc.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_dcreg.h Add preliminary support for the Hawking PN672TX CardBus cards. 2003-01-10 05:37:15 +00:00
if_de.c - Use if_broadcastaddr from struct ifnet rather than relying on 2003-03-21 17:53:16 +00:00
if_devar.h
if_en_pci.c
if_mn.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
if_pcn.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_pcnreg.h
if_rl.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_rlreg.h Add support for Planex FNW-3800-TX(CardBus 100M/10M). 2003-03-18 14:57:09 +00:00
if_sf.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_sfreg.h
if_sis.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_sisreg.h Fix typo in an unused macro. 2003-01-29 21:56:10 +00:00
if_sk.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_skreg.h
if_ste.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_stereg.h Change the chip description from "DFE-550TX" to "DL10050". 2002-12-23 21:50:47 +00:00
if_ti.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_tireg.h Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
if_tl.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_tlreg.h Use if_printf(ifp, "blah") and device_printf(dev, "blah") instead of 2002-10-21 02:54:50 +00:00
if_vr.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_vrreg.h Add deviceids for 6105 and 6105M chips. Further changes will be necessary 2003-02-01 01:27:05 +00:00
if_wb.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_wbreg.h
if_xl.c Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
if_xlreg.h Instead of relying on a compile time define to determine whether the xl 2003-03-18 06:29:51 +00:00
intpm.c Use rman_get_start() to get start address of the resource. 2003-02-26 13:46:40 +00:00
intpmreg.h
locate.pl
meteor_reg.h
meteor.c - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
ncr.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ncrreg.h
ti_fw2.h
ti_fw.h
viapm.c Fix an unparenthasized macro argument. md5s differ but this is likely 2002-11-09 20:13:16 +00:00
xmaciireg.h
xrpu.c - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00