Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 74888
b: refs/heads/master
c: ea33291
h: refs/heads/master
v: v3
  • Loading branch information
Olaf Hartmann authored and David S. Miller committed Dec 16, 2007
1 parent 97bff96 commit 37b9e7c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2638698df30b7b57a8dad7029a0c89fe6c4f6783
refs/heads/master: ea332912b8a2e0b2f51ac3b6c197b71d3a18cbb7
10 changes: 6 additions & 4 deletions trunk/drivers/net/irda/stir4200.c
Original file line number Diff line number Diff line change
Expand Up @@ -142,9 +142,6 @@ enum StirCtrl2Mask {
};

enum StirFifoCtlMask {
FIFOCTL_EOF = 0x80,
FIFOCTL_UNDER = 0x40,
FIFOCTL_OVER = 0x20,
FIFOCTL_DIR = 0x10,
FIFOCTL_CLR = 0x08,
FIFOCTL_EMPTY = 0x04,
Expand Down Expand Up @@ -594,9 +591,10 @@ static int fifo_txwait(struct stir_cb *stir, int space)
{
int err;
unsigned long count, status;
unsigned long prev_count = 0x1fff;

/* Read FIFO status and count */
for(;;) {
for (;; prev_count = count) {
err = read_reg(stir, REG_FIFOCTL, stir->fifo_status,
FIFO_REGS_SIZE);
if (unlikely(err != FIFO_REGS_SIZE)) {
Expand Down Expand Up @@ -629,6 +627,10 @@ static int fifo_txwait(struct stir_cb *stir, int space)
if (space >= 0 && STIR_FIFO_SIZE - 4 > space + count)
return 0;

/* queue confused */
if (prev_count < count)
break;

/* estimate transfer time for remaining chars */
msleep((count * 8000) / stir->speed);
}
Expand Down

0 comments on commit 37b9e7c

Please sign in to comment.