]> git.baikalelectronics.ru Git - kernel.git/commit
Blackfin Serial Driver: handle irregular DMA register status in auto start mode
authorSonic Zhang <sonic.zhang@analog.com>
Thu, 11 Jun 2009 12:42:57 +0000 (13:42 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 11 Jun 2009 15:51:04 +0000 (08:51 -0700)
commit6bbc3590ee7413907b96659eb7c0f6a26ae9289e
treec0503527f7c27d8e042ba81157955fa24303049a
parent25642a1ad130b1872e98d31f9567d84d0d466e40
Blackfin Serial Driver: handle irregular DMA register status in auto start mode

This bug is caused by irregular behavior of DMA register CURR_X_COUNT
and CURR_Y_COUNT when an auto restart uart rx DMA run to last byte in
DMA buffer, trigger the interrupt and stay at this possiton. The status
of current x and y is 0:7 instead of 512:8 or 0:8. The driver doesn't
take care of this case when calculating the position.

URL: http://blackfin.uclinux.org/gf/tracker/5063
Reported-by: Tomasz Motylewski <t.motylewski@bfad.de>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/serial/bfin_5xx.c