freebsd-dev/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 Implement chflagsat(2) system call, similar to fchmodat(2), but operates on 2013-03-21 22:59:01 +00:00
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 Fix a false -> AH_FALSE. 2013-05-29 04:21:42 +00:00
crypto When porting XTS-related code from OpenBSD I forgot to update copyright (only 2013-02-20 22:59:53 +00:00
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 Garbage collect XFS bits which are now already completely disconnected 2013-03-02 15:33:54 +00:00
i386 Assert that interrupts are enabled in the trap handlers on x86 before 2013-06-03 17:40:05 +00:00
ia64 Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. 2013-05-24 09:22:43 +00:00
isa
kern Add vfs_mounted and vfs_unmounted events so that components can be informed 2013-06-09 23:51:26 +00:00
kgssapi Isilon reported that sec=krb5p NFS mounts had a problem when m_len == 0 2013-05-01 22:07:55 +00:00
libkern Attempt to mitigate poor initialization of arc4 by one-shot 2013-04-19 00:30:52 +00:00
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 Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
netgraph Fix several typos 2013-05-12 16:43:26 +00:00
netinet Disable IGMPv3 link timers on a transition to IGMPv2. 2013-06-07 17:12:08 +00:00
netinet6 Really fix netmask address family this time. 2013-05-19 19:42:46 +00:00
netipsec Use IP6STAT_INC/IP6STAT_DEC macros to update ip6 stats. 2013-04-09 07:11:22 +00:00
netipx
netnatm
netpfil Return meaningful error code from pf_state_key_attach() and 2013-05-11 18:06:51 +00:00
netsmb If the kernel is compiled with VMIMAGE support, the first attempt of 2013-05-04 16:55:48 +00:00
nfs Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
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 Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
opencrypto When porting XTS-related code from OpenBSD I forgot to update copyright (only 2013-02-20 22:59:53 +00:00
pc98 MFi386: revision 251039 2013-06-01 12:21:59 +00:00
pci - Corrrect mispellings of word useful 2013-04-17 11:45:15 +00:00
powerpc Pad the PCPU MD struct, to satisfy an assert added with the projects/counters 2013-06-04 00:40:26 +00:00
rpc Fix a potential socket leak in the NFS server. If a client closes its 2013-04-08 19:03:01 +00:00
security Relax the vm object locking in mac_proc_vm_revoke_recurse(). A read lock 2013-06-04 17:23:09 +00:00
sparc64 o Relax locking assertions for vm_page_find_least() 2013-05-21 20:38:19 +00:00
sys Add vfs_mounted and vfs_unmounted events so that components can be informed 2013-06-09 23:51:26 +00:00
teken
tools Further refine the handling of stop signals in the NFS client. The 2013-02-21 19:02:50 +00:00
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 Add basic support for FDT to i386 & amd64. This change includes: 2013-05-21 03:05:49 +00:00
xdr Use m_get() and m_getcl() instead of compat macros. 2013-03-15 10:21:18 +00:00
xen Fix loss of the emulated keyboard on Xen PV HVM domains. 2013-05-22 19:22:44 +00:00
Makefile Remove netncp cscope entry missed in r248097 2013-03-12 14:21:52 +00:00