aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ks8851.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ks8851.c')
-rw-r--r--drivers/net/ks8851.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/ks8851.c b/drivers/net/ks8851.c
index 4dcd61f81ec2..b8ed1ee37ac1 100644
--- a/drivers/net/ks8851.c
+++ b/drivers/net/ks8851.c
@@ -717,12 +717,14 @@ static void ks8851_tx_work(struct work_struct *work)
717 txb = skb_dequeue(&ks->txq); 717 txb = skb_dequeue(&ks->txq);
718 last = skb_queue_empty(&ks->txq); 718 last = skb_queue_empty(&ks->txq);
719 719
720 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA); 720 if (txb != NULL) {
721 ks8851_wrpkt(ks, txb, last); 721 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr | RXQCR_SDA);
722 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr); 722 ks8851_wrpkt(ks, txb, last);
723 ks8851_wrreg16(ks, KS_TXQCR, TXQCR_METFE); 723 ks8851_wrreg16(ks, KS_RXQCR, ks->rc_rxqcr);
724 ks8851_wrreg16(ks, KS_TXQCR, TXQCR_METFE);
724 725
725 ks8851_done_tx(ks, txb); 726 ks8851_done_tx(ks, txb);
727 }
726 } 728 }
727 729
728 mutex_unlock(&ks->lock); 730 mutex_unlock(&ks->lock);