aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bfin_mac.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/bfin_mac.c')
-rw-r--r--drivers/net/bfin_mac.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
index 14bd3801f7d3..8ffea3990d07 100644
--- a/drivers/net/bfin_mac.c
+++ b/drivers/net/bfin_mac.c
@@ -554,8 +554,8 @@ static void adjust_tx_list(void)
554{ 554{
555 int timeout_cnt = MAX_TIMEOUT_CNT; 555 int timeout_cnt = MAX_TIMEOUT_CNT;
556 556
557 if (tx_list_head->status.status_word != 0 557 if (tx_list_head->status.status_word != 0 &&
558 && current_tx_ptr != tx_list_head) { 558 current_tx_ptr != tx_list_head) {
559 goto adjust_head; /* released something, just return; */ 559 goto adjust_head; /* released something, just return; */
560 } 560 }
561 561
@@ -567,8 +567,8 @@ static void adjust_tx_list(void)
567 if (current_tx_ptr->next->next == tx_list_head) { 567 if (current_tx_ptr->next->next == tx_list_head) {
568 while (tx_list_head->status.status_word == 0) { 568 while (tx_list_head->status.status_word == 0) {
569 udelay(10); 569 udelay(10);
570 if (tx_list_head->status.status_word != 0 570 if (tx_list_head->status.status_word != 0 ||
571 || !(bfin_read_DMA2_IRQ_STATUS() & DMA_RUN)) { 571 !(bfin_read_DMA2_IRQ_STATUS() & DMA_RUN)) {
572 goto adjust_head; 572 goto adjust_head;
573 } 573 }
574 if (timeout_cnt-- < 0) { 574 if (timeout_cnt-- < 0) {
@@ -596,8 +596,8 @@ adjust_head:
596 ": no sk_buff in a transmitted frame!\n"); 596 ": no sk_buff in a transmitted frame!\n");
597 } 597 }
598 tx_list_head = tx_list_head->next; 598 tx_list_head = tx_list_head->next;
599 } while (tx_list_head->status.status_word != 0 599 } while (tx_list_head->status.status_word != 0 &&
600 && current_tx_ptr != tx_list_head); 600 current_tx_ptr != tx_list_head);
601 return; 601 return;
602 602
603} 603}