freebsd-nq/sys/dev
Pyun YongHyeon da84b3961f Since resetting hardware takes a very long time and results in link
renegotiation, we only initialize the hardware only when it is
absolutely required. Process SIOCGIFADDR ioctl in em(4) when we know
an IPv4 address is added. Handling SIOCGIFADDR in a driver is
layering violation but it seems that there is no easy way without
rewritting hardware initialization code to reduce settle time after
reset.

This should fix a long standing bug which didn't send ARP packet when
interface address is changed or an alias address is added. Another
effect of this fix is it doesn't need additional delays anymore when
adding an alias address to the interface.
While I'm here add a new if_flags into softc which remembers current
prgroammed interface flags and make use of it when we have to program
promiscuous mode.

Tested by:	Atanas <atanas AT asd DOT aplus DOT net>
Analyzed by:	rwatson
Discussed with:	-stable
2006-07-20 04:18:45 +00:00
..
aac Unlock aac_io_lock before returning, thus eliminates a mutex 2006-07-14 13:55:56 +00:00
acpi_support Use the acpi_event_sleep_button_sleep() function instead of 2006-06-06 15:20:06 +00:00
acpica Eliminate duplicate p-states entries 2006-07-15 17:34:03 +00:00
adlink Use the new bus_space/resource convenience functions. 2005-09-24 20:46:02 +00:00
advansys Remove some header polution. 2006-04-30 16:44:41 +00:00
agp Fix breakage of CHIP_I855 in the last revision. 2006-06-27 14:05:11 +00:00
aha Add explicit dependency on cam. This is necessary when both aha.ko and 2006-03-24 06:33:25 +00:00
ahb Fix missing update to reflect change in scsi_inquiry data structure. 2006-05-31 14:33:23 +00:00
aic Eliminate support for oldcard by removing the compat shims. 2005-09-20 19:45:08 +00:00
aic7xxx Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
amd
amr Chain the bus_dmamap_load() calls when mapping a command with a data CCB 2006-07-17 19:45:47 +00:00
an Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ar - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
arcmsr Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
arl Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
asr Remove stale MAINTAINER 2006-07-09 16:31:53 +00:00
ata Add preliminary support for the Serverworks HT1000 chip. 2006-07-04 20:36:03 +00:00
ath enable rx of control frames when in monitor mode 2006-06-26 04:31:36 +00:00
atkbdc Make sure command/data port (0x60) and status port (0x64) are in correct 2006-07-03 23:40:58 +00:00
auxio - Only touch the LED bit of the (LED) AUXIO register when turning the 2006-01-26 19:04:18 +00:00
awi add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
bce Fix ifconfig up when the HW was down. If the driver isn't running 2006-07-12 23:13:09 +00:00
bfe Back out the BUS_DMA_ALLOCNOW change from rev 1.39. Scottl informed me that 2006-05-28 20:35:39 +00:00
bge Since 5714 family doesn't have Jumbo ring, we do not support 2006-06-29 06:38:21 +00:00
bktr Housekeeping. Update for maintainers who have handed in their commit bits 2006-07-01 10:51:55 +00:00
buslogic
cardbus Minor cleanup of CIS parsing. 2006-06-12 03:28:42 +00:00
ce Update low-level code. (to version 1.4) 2006-03-01 09:50:20 +00:00
ciss Spin until a request structure is available in the ioctl path. 2006-05-30 06:42:02 +00:00
cm Make cm(4) driver MPSAFE. 2006-06-11 22:25:01 +00:00
cnw Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cp trim trailing ^I 2005-12-17 07:09:17 +00:00
cpufreq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cs Fix multicast support for cs89x0 chips. Just setting the RX_MULTCAST_ACCEPT 2006-03-10 23:50:53 +00:00
ct Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ctau Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cx Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
cy Catch up with new interrupt handling code. 2005-10-26 06:44:59 +00:00
dc Fix the last commit. 2006-06-08 08:15:21 +00:00
dcons Convert to new console interface. 2006-05-26 13:51:38 +00:00
de Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
digi - Push Giant down into linker_reference_module(). 2006-06-20 20:54:13 +00:00
dpt Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
drm Update to current DRM CVS, bringing in a fix for a NULL pointer chase when 2006-05-17 06:36:28 +00:00
ed MFp4: 2006-06-12 04:30:42 +00:00
eisa
em Since resetting hardware takes a very long time and results in link 2006-07-20 04:18:45 +00:00
en Subtracting two pointers produces a ptrdiff_t not a size_t so use 2006-03-21 15:00:10 +00:00
ep Remove ifdef notdef SIOCHWADDR vestige. 2006-02-04 08:16:07 +00:00
esp Fix -Wundef from compiling the amd64 LINT. 2005-12-04 10:06:06 +00:00
ex Remove ifdef notyet SIOCGHWADDR vestige. 2006-02-04 08:16:41 +00:00
exca Don't dereference an uninitialized pointer. 2006-03-09 16:28:24 +00:00
fatm This driver has been MPSAFE from the beginning so declare the interrupt 2006-03-21 14:56:42 +00:00
fb Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
fdc Assume floppy disk is not inserted when we have exhausted retries. This 2006-07-12 00:49:46 +00:00
fe Return 0 if we are a network card and do match. Previously, we'd bogusly 2005-11-19 23:26:57 +00:00
firewire Better printf 2006-06-12 04:00:33 +00:00
fxp Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
gem add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
gfb Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
harp
hatm Replace m_extadd() with macro version MEXTADD(). 2005-09-19 22:04:41 +00:00
hfa
hifn Use newly added functions to simplify the code. 2006-06-04 22:17:25 +00:00
hme Fix typo in printf string. 2006-05-27 09:28:59 +00:00
hptmv Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
hwpmc First pass at removing Alpha kernel support. 2006-05-11 22:25:28 +00:00
ic Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4. 2006-07-06 21:12:18 +00:00
ichsmb This signal handling code is worse than a no-op. If a 2006-01-03 17:01:43 +00:00
ichwd Re-work the bus attachment somewhat. Make the rids unique for 2006-02-17 18:46:18 +00:00
ida
idt Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ie Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ieee488 Don't be noisy in case of shared interrupts. 2006-03-11 15:39:22 +00:00
if_ndis When ndis_attach() runs, it has to very briefly initialize the card 2006-02-04 19:42:49 +00:00
iicbus Allow iic bridges to support a generalized transfer, rather than 2006-07-14 23:15:06 +00:00
iir Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
io
ipmi Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ips Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ipw Hold on to firmware images until the interface detaches since 2006-06-10 17:29:40 +00:00
isp Some rearrangement of headers to minimize diffs with outside of 2006-07-16 20:11:50 +00:00
ispfw Convert isp(4) and ispfw(4) to use firmware(9) to manage firmware 2006-07-09 17:50:20 +00:00
iwi add missed calls to bpf_peers_present 2006-06-02 23:14:40 +00:00
ixgb Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
joy Unbreak second joystick (joy1) support. 2005-11-09 20:26:00 +00:00
kbd Integrate kbdmux(4) into syscons(4) and kbd code. 2006-02-28 23:46:23 +00:00
kbdmux Fix endian bugs accessing ioctl arguments that are passed by value. 2006-03-03 00:46:28 +00:00
le Revert the part of rev. 1.3 which changed the software style to be 2006-06-05 15:14:14 +00:00
led
lge Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
lmc Cleanup: Use if_initname to set if_dname, if_dunit, and if_xname instead 2006-07-15 02:07:38 +00:00
mc146818
mca
mcd
md - Conditionally acquire Giant in mdstart_vnode(), mdcreate_vnode(), and 2006-03-28 21:25:11 +00:00
mem
mfi Change mfi_add_ld to "immediate command" mode since we need to enumerate 2006-06-30 18:59:08 +00:00
mii Reset autonegotiation timer if current media is not 'auto'. 2006-07-03 10:37:09 +00:00
mk48txx
mlx
mly
mpt Add sysctl information about things like WWNN/WWPN. 2006-07-16 06:05:44 +00:00
mse Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
mxge Firmware loading improvements: 2006-07-17 22:17:05 +00:00
my Add altq(4) support. 2006-06-05 17:59:46 +00:00
ncv no need to print unload anymore 2006-07-14 04:36:57 +00:00
nfe Add a pure open source nForce Ethernet driver, under BSDL. 2006-06-26 23:41:07 +00:00
nge Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
nmdm Use ttyalloc() instead of ttymalloc() 2006-01-04 08:34:23 +00:00
nsp Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
null
nve ALTQ-ify nve(4). 2006-05-20 21:08:09 +00:00
ofw Fix various typos and brainos in last commit. 2006-05-30 07:56:57 +00:00
patm This driver has been MPSAFE from the beginning, so declare the interrupt 2006-03-21 14:54:42 +00:00
pbio Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
pccard Fix a few cis entries that were separated with spaces, not with commas. 2006-07-14 04:39:29 +00:00
pccbb We don't have a ISA specific shutdown routine at this time, so remove 2006-06-03 21:10:50 +00:00
pcf - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
pci Simplify the pager support in DDB. Allowing different db commands to 2006-07-12 21:22:44 +00:00
pdq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ppbus Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
ppc Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
pst
puc Fix building with GCC 4.2: ensure types are defined before refering to them. 2006-06-29 16:27:19 +00:00
ral Fix kernel panic in rt2661_tx_intr() if no frames has been sent. 2006-06-05 20:06:29 +00:00
random Now even more style(9)ish. 2006-07-13 11:47:36 +00:00
ray - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
rc - Use swi_remove() to teardown swi handlers rather than 2005-10-26 15:52:16 +00:00
re Properly detect the RTL8168(B?) again. RealTek sent me a bunch of sample 2006-06-28 16:04:54 +00:00
rndtest
rp The UPCI 32 rp(4) card uses BAR 2 like the UPCI 80 card. 2006-01-25 14:55:11 +00:00
rr232x Make this compile with -Wundef. 2006-05-16 15:23:27 +00:00
safe Use newly added functions to simplify the code. 2006-06-04 22:17:25 +00:00
sbni - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
sbsh Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
scc The Z8530 on the MacIO has an interrupt per channel. Deal with this 2006-04-04 17:33:08 +00:00
scd
sf Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
si - Update copyright years from the Specialix SDK. 2006-01-06 20:17:48 +00:00
sio Restore the status quo before my last commit. Prior to it, sio took 2006-07-17 03:47:18 +00:00
sk Convert sk(4) to use the new bus_alloc_resources() API and 2006-07-19 04:12:59 +00:00
smbus Drivers for AMD-8111 and NVIDIA nForce2/3/4 SMBus 2.0 controllers. 2005-12-21 15:49:51 +00:00
sn Fix mismerge after last cvs update for the IFQ_DRV_DEQUEUE changes. 2006-02-04 08:19:00 +00:00
snc Fix -Wundef warnings from compiling GENERIC and LINT kernels of 2005-12-06 11:19:37 +00:00
snp Restore the ability to detach from a tty via SIOCSTTY and document 2005-09-19 13:48:45 +00:00
sound Rename some variables. This fixes some (but not all) problems on the way 2006-07-17 17:43:06 +00:00
speaker Add /dev/speaker support to amd64. 2005-11-11 09:57:32 +00:00
spibus Fix comments. 2006-07-17 21:18:03 +00:00
sr - Use bus_setup_intr() and bus_teardown_intr() to register device driver 2006-02-22 18:16:26 +00:00
stg no need to print unload anymore. 2006-07-14 04:35:59 +00:00
streams Whitespace fix after s/dev_t/struct cdev */. 2006-07-19 18:52:33 +00:00
sym Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
syscons Convert to new console api 2006-05-26 13:54:27 +00:00
tdfx Take the functionality contained in the former "options TDFX_LINUX" 2006-03-03 21:37:38 +00:00
ti - Tx side bus_dmamap_load_mbuf_sg(9) support. This reduces bookkeeping 2006-01-03 06:14:07 +00:00
trm Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
twa Remove header pollution. 2006-04-30 16:46:11 +00:00
twe Normalize a significant number of kernel malloc type names: 2005-10-31 15:41:29 +00:00
tx Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
txp Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
uart Convert to new console api 2006-05-26 13:54:27 +00:00
ubsec Handle errors in the same way it is done in safe(4). 2006-06-06 13:58:12 +00:00
usb Change the multicast calculation to be the same as the other usb drivers and 2006-07-05 00:49:26 +00:00
utopia
vge Do not touch ifp->if_baudrate in miibus aware drivers. 2006-02-14 12:44:56 +00:00
vkbd Disable custom locking in the vkbd(4) for now and make it rely on the 2006-02-27 06:17:48 +00:00
vr Remove various bits of conditional Alpha code and fixup a few comments. 2006-05-12 05:04:46 +00:00
vx - Store pointer to the link-level address right in "struct ifnet" 2005-11-11 16:04:59 +00:00
watchdog Return zero when disabling watchdog, unless any of the drivers complain. 2005-09-29 12:31:44 +00:00
wds Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
wi Really fix the typo this time: it should be sc->sc_drvbpf to be verified, 2006-06-05 23:06:03 +00:00
wl Trival whitespace change. 2006-06-19 11:30:36 +00:00
xe o Fix printf(9) formatting: do not use hardcode "0x" and "#" flags 2006-04-15 11:41:40 +00:00
zs Update to new console api. 2006-05-26 18:25:34 +00:00