]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/commit
MFC r221565-221568,221579:
authoryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 27 May 2011 21:43:35 +0000 (21:43 +0000)
committeryongari <yongari@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Fri, 27 May 2011 21:43:35 +0000 (21:43 +0000)
commit7ab46e8c633d43e5a97f1d3fcd580ab171dd193d
tree3494c503839dc3075ba8c1a69bfac053394acccf
parentb16c9c2f4b36aaa8ab6835f132c2892bb718c3cd
MFC r221565-221568,221579:
r221565:
  Reuse the TX descriptor(DPD) if xl_encap() failed instead of just
  picking the next available one. This may explain why xl(4) sees TX
  underrun error with no queued frame. I hope this addresses a long
  standing xl(4) watchdog timeout issue as well.

  Obtained from:        OpenBSD

r221566,221579:
  Rename xl_stats_update() callout handler to xl_tick() and move MII
  tick driving logic to xl_tick(). Now xl_tick() handles MII tick as
  well as periodic updating of statistics.
  This change removes a hack used in interrupt handler where it
  wanted to update statistics without driving MII tick.

r221567:
  Rearm watchdog timer if driver kick controller to recover from TX
  underrun error.
  While here, prepend 0x to status code to show TX status is hex
  number.

r221568:
  XL_DMACTL is 32bit register, use 32bit write macro.
  While I'm here add more bits for the register.

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