diff options
Diffstat (limited to 'drivers/net/ks8851.c')
| -rw-r--r-- | drivers/net/ks8851.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c index 13cc1ca261d9..9e9f9b349766 100644 --- a/drivers/net/ks8851.c +++ b/drivers/net/ks8851.c | |||
| @@ -722,12 +722,14 @@ static void ks8851_tx_work(struct work_struct *work) | |||
| 722 | txb = skb_dequeue(&ks->txq); | 722 | txb = skb_dequeue(&ks->txq); |
| 723 | last = skb_queue_empty(&ks->txq); | 723 | last = skb_queue_empty(&ks->txq); |
| 724 | 724 | ||
| 725 | ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA); | 725 | if (txb != NULL) { |
| 726 | ks8851_wrpkt(ks, txb, last); | 726 | ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA); |
| 727 | ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr); | 727 | ks8851_wrpkt(ks, txb, last); |
| 728 | ks8851_wrreg16(ks, KS_TXQCR, TXQCR_METFE); | 728 | ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr); |
| 729 | ks8851_wrreg16(ks, KS_TXQCR, TXQCR_METFE); | ||
| 729 | 730 | ||
| 730 | ks8851_done_tx(ks, txb); | 731 | ks8851_done_tx(ks, txb); |
| 732 | } | ||
| 731 | } | 733 | } |
| 732 | 734 | ||
| 733 | mutex_unlock(&ks->lock); | 735 | mutex_unlock(&ks->lock); |
