Date: Fri, 24 Sep 2010 19:07:14 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/pci if_xl.c Message-ID: <201009241907.o8OJ7N0k072426@repoman.freebsd.org>
index | next in thread | raw e-mail
yongari 2010-09-24 19:07:14 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/pci if_xl.c
Log:
SVN rev 213118 on 2010-09-24 19:07:14Z by yongari
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.
Revision Changes Path
1.210.2.7 +3 -6 src/sys/pci/if_xl.c
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009241907.o8OJ7N0k072426>
