freebsd-skq/sys/dev
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
..
aac Add the ability to send 64-bit scatter/gather elements to aac cards. This 2003-03-30 21:47:16 +00:00
acpica Fix 2 vm_offset_t -> vm_paddr_t missed in previous commit. 2003-03-25 01:47:29 +00:00
advansys Clean up argument comments for bus_dma_tag_create() calls. 2003-03-29 09:46:10 +00:00
agp - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
aha Clean up argument comments for bus_dma_tag_create() calls. 2003-03-29 09:46:10 +00:00
ahb Clean up argument comments for bus_dma_tag_create() calls. 2003-03-29 09:46:10 +00:00
aic
aic7xxx - Temporary fix so this compiles with 64 bit bus_addr_t. 2003-03-30 05:26:01 +00:00
amd
amr Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
an Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ar Move ar_devclass definition to if_ar.c. 2003-02-23 13:20:42 +00:00
asr Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
ata Fix ATA_DEBUG case breakage. 2003-03-30 09:27:59 +00:00
atkbdc Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
awi Added missing dependency on rc4. 2003-03-21 22:02:58 +00:00
bge Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
bktr - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
buslogic Clean up argument comments for bus_dma_tag_create() calls. 2003-03-29 09:46:10 +00:00
cardbus Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ccd Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
ciss Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
cm Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
cnw The ether_ifdetach() function requires only one argument now. 2003-02-23 13:24:26 +00:00
cs Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ct
cy Make nokqfilter() return the correct return value. 2003-03-03 16:24:47 +00:00
dc Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
de - Use if_broadcastaddr from struct ifnet rather than relying on 2003-03-21 17:53:16 +00:00
dec
dgb Make TTYHOG tunable. 2003-03-05 08:16:29 +00:00
digi Make nokqfilter() return the correct return value. 2003-03-03 16:24:47 +00:00
dpt Remove useless code. 2003-03-29 14:51:50 +00:00
drm - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
ed - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
eisa
em Added support for 82541 and 82547 based adapters. 2003-03-21 21:47:31 +00:00
en clean up the en driver since it will survice for a while by 2003-03-12 10:28:26 +00:00
ep Revert 1.21; this was local code that should not have been 2003-03-30 08:13:47 +00:00
ex - Declare ex_devclass in if_ex.c 2003-03-29 15:38:53 +00:00
exca Massive overhaul of exca to help with the isa efforts: 2003-02-14 06:21:18 +00:00
fb - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
fdc Fix a malloc() with no legal modeflag. 2003-03-17 07:26:25 +00:00
fe Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
firewire - The payload of Write Request Quad must be network byte order. 2003-03-24 04:11:21 +00:00
fxp Correct names for fxp devices. Sort data by devid in 2003-03-08 21:44:21 +00:00
gem Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
gfb - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
gx Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
hea Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
hfa Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
hifn o add crypto driver glue for using the new rndtest driver/module; this is 2003-03-11 22:47:06 +00:00
hme Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ic - Clean up function calling conventions. 2003-03-28 06:27:08 +00:00
ichsmb
ida Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
idt - Deal with netisr changes. 2003-03-29 15:55:04 +00:00
ie - Move driver to newbus. 2003-03-29 13:36:41 +00:00
iicbus Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
iir Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
isp Add an explanatory comment about what operational modes in xfwopt are. 2003-03-25 07:02:45 +00:00
ispfw Roll to latest level. 2003-02-16 01:30:31 +00:00
joy Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
kbd Add a a sysctl, hw.kbd.keymap_restrict_change, which acts a bit 2003-03-09 22:49:48 +00:00
lge Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
lmc Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
lnc Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
mc146818
mca
mcd Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
md remove a blank line. 2003-03-29 22:13:32 +00:00
mii Remove unused variable and code. 2003-02-19 00:32:01 +00:00
mk48txx
mlx Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
mly Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
mpt PAGE_SIZE is unsigned on all our platforms, and is a long on some. 2003-02-23 19:49:30 +00:00
mse Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
musycc Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
my Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ncv Change to correct card entry. RATOC REX-R280 is 10Base-T Ether Card, 2003-01-11 13:04:59 +00:00
nge Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
nmdm Make TTYHOG tunable. 2003-03-05 08:16:29 +00:00
nsp
null Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
ofw Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
pccard pccarddevs_data.h no longer generated 2003-03-28 06:44:57 +00:00
pccbb Add a number of IDs from linux for old, rare pci devices: 2003-02-26 05:44:00 +00:00
pcf
pci Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
pcic More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9). 2003-03-02 16:54:40 +00:00
pdq Catch up with bpf_mtap() changes. 2003-03-16 00:30:02 +00:00
ppbus Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
ppc More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9). 2003-03-02 16:54:40 +00:00
pst Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
puc - Add minimal support for TI16754 4xUART chip into sio(4) driver and remove 2003-03-15 16:25:40 +00:00
raidframe Use td->td_ucred instead of td->td_proc->p_ucred. 2003-03-20 21:17:40 +00:00
random Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
ray Retire some misleading comments and explain why we need to keep a copy 2003-03-05 18:13:19 +00:00
rc Make TTYHOG tunable. 2003-03-05 08:16:29 +00:00
rndtest FIPS 140-2 rng data tester for h/w crypto devices. This driver periodically 2003-03-11 22:54:44 +00:00
rp Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
sab Note that MAJOR_AUTO is now the default if d_maj is not initialized. This 2003-03-09 11:03:45 +00:00
sbni Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
scd Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
sf Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
si Make TTYHOG tunable. 2003-03-05 08:16:29 +00:00
sio Brucify. 2003-03-18 21:26:28 +00:00
sk Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
smbus Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
sn Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
snc Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
snp Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
sound Perform warm reset if codec reports ready on attach. 2003-03-28 16:33:15 +00:00
speaker Retire sys/pc98/pc98/spkr.c 2003-03-24 21:01:54 +00:00
sr Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
stg
streams Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
sym Consolidate MIN/MAX macros into one place (param.h). 2003-02-02 13:17:30 +00:00
syscons Catch up with recent events. 2003-03-27 07:37:02 +00:00
tdfx - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
tga Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
ti Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
trm Merge diff between rev 1.08 and rev 1.11 of Tekram driver, this notably add 2003-02-20 03:21:34 +00:00
twe Fix a bug I introduced by overlooking the fact that "unit number" can 2003-03-15 12:16:33 +00:00
tx Nuke EPIC_MGETCLUSTER entirely. Since 1.60 we don't use it anymore and 2003-02-21 23:12:32 +00:00
txp Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ubsec Including <sys/stdint.h> is (almost?) universally only to be able to use 2003-03-18 08:45:25 +00:00
usb Add code to implement two new USB quirk types: NO_INQUIRY and NO_INQUIRY_EVPD 2003-03-25 16:21:09 +00:00
vinum Centralize the devstat handling for all GEOM disk device drivers 2003-03-08 08:01:31 +00:00
vr Clean up locking and resource management for pci/if_* 2003-03-31 17:29:43 +00:00
vx Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
wds
wi MFP4 27224 and 27225: 2003-03-22 15:39:38 +00:00
wl Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
xe Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
zs Note that MAJOR_AUTO is now the default if d_maj is not initialized. This 2003-03-09 11:03:45 +00:00