]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r211716:
authoryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 24 Sep 2010 19:04:17 +0000 (19:04 +0000)
committeryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 24 Sep 2010 19:04:17 +0000 (19:04 +0000)
commit39b5f676e4a401d3ad1b192114aa3ff58bac1647
treecde6afbc0b2565e34861b03529c57b5630d60e6e
parent06c9b27069dc6a23b696c437a7412e6cdddd4f1c
MFC r211716:
  Move xl_reset() to xl_init_locked(). This will make driver
  initialize controller from a known good state. Previously driver
  used to issue controller reset while TX/RX DMA are in progress.
  I guess resetting controller in active TX/RX DMA cycle is to ensure
  stopping I/Os in xl_shutdown(). I remember some buggy controllers
  didn't respond with stop command if controller is under high
  network load at the time of shutdown so resetting controller was
  the only safe way to stop the I/Os. However, from my experiments,
  controller always responded with stop command under high network
  load so I think it's okay to remove the xl_reset() in
  device_shutdown handler.
  Resetting controller also will clear configured RX filter which
  in turn will make WOL support hard because driver have to reprogram
  RX filter in WOL handler as well as setting station address.

git-svn-id: svn://svn.freebsd.org/base/stable/8@213117 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/xl/if_xl.c