Date: Mon, 14 Dec 2009 19:08:11 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/vge if_vge.c Message-ID: <200912141908.nBEJ8Wh5043188@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2009-12-14 19:08:11 UTC FreeBSD src repository Modified files: sys/dev/vge if_vge.c Log: SVN rev 200529 on 2009-12-14 19:08:11Z by yongari Clear VGE_TXDESC_Q bit for transmitted frames. The VGE_TXDESC_Q bit seems to work like a tag that indicates 'not list end' of queued frames. Without having a VGE_TXDESC_Q bit indicates 'list end'. So the last frame of multiple queued frames has no VGE_TXDESC_Q bit. The hardware has peculiar behavior for VGE_TXDESC_Q bit handling. If the VGE_TXDESC_Q bit of descriptor was set the controller would fetch next descriptor. However if next descriptor's OWN bit was cleared but VGE_TXDESC_Q was set, it could confuse controller. Clearing VGE_TXDESC_Q bit for transmitted frames ensure correct behavior. Revision Changes Path 1.48 +4 -1 src/sys/dev/vge/if_vge.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912141908.nBEJ8Wh5043188>