X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=drivers%2Fnet%2Fe100.c;h=8e2eab4e7c759c6f1ae82bd3ea8959050c901684;hb=03c5d770c24cd673d105fbf1a9706ae838272091;hp=b194bad29ace251c2f33bfe5d9845ca571af352a;hpb=fa7eadab4b4aec0139d2429e6f8d13375ff8a658;p=mv-sheeva.git diff --git a/drivers/net/e100.c b/drivers/net/e100.c index b194bad29ac..8e2eab4e7c7 100644 --- a/drivers/net/e100.c +++ b/drivers/net/e100.c @@ -1779,6 +1779,7 @@ static int e100_tx_clean(struct nic *nic) for (cb = nic->cb_to_clean; cb->status & cpu_to_le16(cb_complete); cb = nic->cb_to_clean = cb->next) { + rmb(); /* read skb after status */ netif_printk(nic, tx_done, KERN_DEBUG, nic->netdev, "cb[%d]->status = 0x%04X\n", (int)(((void*)cb - (void*)nic->cbs)/sizeof(struct cb)), @@ -1927,6 +1928,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx, netif_printk(nic, rx_status, KERN_DEBUG, nic->netdev, "status=0x%04X\n", rfd_status); + rmb(); /* read size after status bit */ /* If data isn't ready, nothing to indicate */ if (unlikely(!(rfd_status & cb_complete))) {