HardenedBSD/sys
Pyun YongHyeon 5506afef17 Avoid unnecessary controller reinitialization by checking driver
running state.  fxp(4) requires controller reinitialization for the
following cases.
 o RX lockup condition on i82557
 o promiscuous mode change
 o multicast filter change
 o WOL configuration
 o TSO/VLAN hardware tagging/checksum offloading configuration
 o MAC reprogramming after speed/duplex/flow-control resolution
 o Any events that result in MAC reprogramming(link UP/DOWN,
   remote link partner's restart of auto-negotiation etc)
 o Microcode loading/unloading
Apart from above cases which come from hardware limitation, upper
stack also blindly reinitializes controller whenever an IP address
is assigned. After r194573, fxp(4) no longer needs to reinitialize
the controller to program multicast filter after upping the
interface. So keeping track of driver running state should remove
all unnecessary controller reinitializations.

This change will also address endless controller reinitialization
triggered by dhclient(8).

Tested by:	hrs, Alban Hertroys <haramrae@gmail.com>
2013-06-10 07:31:49 +00:00
..
amd64 Assert that interrupts are enabled in the trap handlers on x86 before 2013-06-03 17:40:05 +00:00
arm Increase the maximum KVM available on TI chips. Not sure why we suddenly need 2013-06-09 22:51:11 +00:00
boot - The method introduced as part of r234898 for not altering the boot path 2013-06-09 23:50:30 +00:00
bsm
cam Simplify the checking of flags for cam_periph_mapmem(). This gets rid of 2013-06-07 00:22:38 +00:00
cddl MFV r251519: 2013-06-08 09:11:20 +00:00
compat aio_mlock() added: 2013-06-08 13:30:13 +00:00
conf Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the 2013-06-08 16:02:31 +00:00
contrib
crypto
ddb
dev Avoid unnecessary controller reinitialization by checking driver 2013-06-10 07:31:49 +00:00
fs e2fs_bpg and e2fs_isize are always unsigned. 2013-06-09 01:38:51 +00:00
gdb
geom Change the set and unset ctlreqs by making the index argument optional. 2013-06-09 23:34:26 +00:00
gnu/fs/reiserfs
i386 Assert that interrupts are enabled in the trap handlers on x86 before 2013-06-03 17:40:05 +00:00
ia64
isa
kern Add vfs_mounted and vfs_unmounted events so that components can be informed 2013-06-09 23:51:26 +00:00
kgssapi
libkern
mips Merge the 1 and 2 byte versions of the atomic functions into one. 2013-06-08 23:45:11 +00:00
modules Import Kevin Lo's port of urtwn(4) from OpenBSD. urtwn(4) is a driver for the 2013-06-08 16:02:31 +00:00
net Properly set curvnet context in lagg_port_setlladdr() task handler. 2013-06-07 10:27:50 +00:00
net80211 Don't hold the node lock over the iterator. 2013-06-07 09:03:56 +00:00
netatalk
netgraph
netinet Disable IGMPv3 link timers on a transition to IGMPv2. 2013-06-07 17:12:08 +00:00
netinet6
netipsec
netipx
netnatm
netpfil
netsmb
nfs
nfsclient - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nfsserver - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nlm
ofed
opencrypto
pc98 MFi386: revision 251039 2013-06-01 12:21:59 +00:00
pci
powerpc Pad the PCPU MD struct, to satisfy an assert added with the projects/counters 2013-06-04 00:40:26 +00:00
rpc
security Relax the vm object locking in mac_proc_vm_revoke_recurse(). A read lock 2013-06-04 17:23:09 +00:00
sparc64
sys Add vfs_mounted and vfs_unmounted events so that components can be informed 2013-06-09 23:51:26 +00:00
teken
tools
ufs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
vm Revise the interface between vm_object_madvise() and vm_page_dontneed() so 2013-06-10 01:48:21 +00:00
x86
xdr
xen
Makefile