diff options
Diffstat (limited to 'drivers/net/irda/stir4200.c')
-rw-r--r-- | drivers/net/irda/stir4200.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/irda/stir4200.c b/drivers/net/irda/stir4200.c index 528767dec9d7..e5698fa30a4f 100644 --- a/drivers/net/irda/stir4200.c +++ b/drivers/net/irda/stir4200.c | |||
@@ -612,16 +612,16 @@ static int fifo_txwait(struct stir_cb *stir, int space) | |||
612 | pr_debug("fifo status 0x%lx count %lu\n", status, count); | 612 | pr_debug("fifo status 0x%lx count %lu\n", status, count); |
613 | 613 | ||
614 | /* is fifo receiving already, or empty */ | 614 | /* is fifo receiving already, or empty */ |
615 | if (!(status & FIFOCTL_DIR) | 615 | if (!(status & FIFOCTL_DIR) || |
616 | || (status & FIFOCTL_EMPTY)) | 616 | (status & FIFOCTL_EMPTY)) |
617 | return 0; | 617 | return 0; |
618 | 618 | ||
619 | if (signal_pending(current)) | 619 | if (signal_pending(current)) |
620 | return -EINTR; | 620 | return -EINTR; |
621 | 621 | ||
622 | /* shutting down? */ | 622 | /* shutting down? */ |
623 | if (!netif_running(stir->netdev) | 623 | if (!netif_running(stir->netdev) || |
624 | || !netif_device_present(stir->netdev)) | 624 | !netif_device_present(stir->netdev)) |
625 | return -ESHUTDOWN; | 625 | return -ESHUTDOWN; |
626 | 626 | ||
627 | /* only waiting for some space */ | 627 | /* only waiting for some space */ |
@@ -776,8 +776,8 @@ static int stir_transmit_thread(void *arg) | |||
776 | } | 776 | } |
777 | 777 | ||
778 | /* nothing to send? start receiving */ | 778 | /* nothing to send? start receiving */ |
779 | if (!stir->receiving | 779 | if (!stir->receiving && |
780 | && irda_device_txqueue_empty(dev)) { | 780 | irda_device_txqueue_empty(dev)) { |
781 | /* Wait otherwise chip gets confused. */ | 781 | /* Wait otherwise chip gets confused. */ |
782 | if (fifo_txwait(stir, -1)) | 782 | if (fifo_txwait(stir, -1)) |
783 | break; | 783 | break; |