diff options
-rw-r--r-- | drivers/net/pxa168_eth.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/pxa168_eth.c b/drivers/net/pxa168_eth.c index f324b767f685..410ea0a61371 100644 --- a/drivers/net/pxa168_eth.c +++ b/drivers/net/pxa168_eth.c | |||
@@ -654,15 +654,15 @@ static void eth_port_start(struct net_device *dev) | |||
654 | /* Assignment of Tx CTRP of given queue */ | 654 | /* Assignment of Tx CTRP of given queue */ |
655 | tx_curr_desc = pep->tx_curr_desc_q; | 655 | tx_curr_desc = pep->tx_curr_desc_q; |
656 | wrl(pep, ETH_C_TX_DESC_1, | 656 | wrl(pep, ETH_C_TX_DESC_1, |
657 | (u32) ((struct tx_desc *)pep->tx_desc_dma + tx_curr_desc)); | 657 | (u32) (pep->tx_desc_dma + tx_curr_desc * sizeof(struct tx_desc))); |
658 | 658 | ||
659 | /* Assignment of Rx CRDP of given queue */ | 659 | /* Assignment of Rx CRDP of given queue */ |
660 | rx_curr_desc = pep->rx_curr_desc_q; | 660 | rx_curr_desc = pep->rx_curr_desc_q; |
661 | wrl(pep, ETH_C_RX_DESC_0, | 661 | wrl(pep, ETH_C_RX_DESC_0, |
662 | (u32) ((struct rx_desc *)pep->rx_desc_dma + rx_curr_desc)); | 662 | (u32) (pep->rx_desc_dma + rx_curr_desc * sizeof(struct rx_desc))); |
663 | 663 | ||
664 | wrl(pep, ETH_F_RX_DESC_0, | 664 | wrl(pep, ETH_F_RX_DESC_0, |
665 | (u32) ((struct rx_desc *)pep->rx_desc_dma + rx_curr_desc)); | 665 | (u32) (pep->rx_desc_dma + rx_curr_desc * sizeof(struct rx_desc))); |
666 | 666 | ||
667 | /* Clear all interrupts */ | 667 | /* Clear all interrupts */ |
668 | wrl(pep, INT_CAUSE, 0); | 668 | wrl(pep, INT_CAUSE, 0); |