aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lepore <ian@FreeBSD.org>2017-12-18 02:34:37 +0000
committerIan Lepore <ian@FreeBSD.org>2017-12-18 02:34:37 +0000
commitb5496277c7a5786f92f869b3ff4a201559ba53f0 (patch)
tree4a48c0b86e4cb966b8af89a0271f2eefe3dda7eb
parentae99239461decc6806c9ed3c8598afdef1c69e08 (diff)
downloadsrc-b5496277c7a5786f92f869b3ff4a201559ba53f0.tar.gz
src-b5496277c7a5786f92f869b3ff4a201559ba53f0.zip
Do not attempt to refill the TX fifo if there is no data left to transfer.
A comment in bcm_bsc_fill_tx_fifo() even lists sc_totlen > 0 as a precondition for calling the routine. I apparently forgot to make the code do what my comment said.
Notes
Notes: svn path=/head/; revision=326925
-rw-r--r--sys/arm/broadcom/bcm2835/bcm2835_bsc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
index e6fee99256d7..1fff97cdd034 100644
--- a/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
+++ b/sys/arm/broadcom/bcm2835/bcm2835_bsc.c
@@ -508,7 +508,7 @@ bcm_bsc_intr(void *arg)
* transfer is complete; TXD will be asserted along with ERR or
* DONE if there is room in the fifo.
*/
- if (status & BCM_BSC_STATUS_TXD)
+ if ((status & BCM_BSC_STATUS_TXD) && sc->sc_totlen > 0)
bcm_bsc_fill_tx_fifo(sc);
}