diff options
Diffstat (limited to 'drivers/net/ethernet/s6gmac.c')
-rw-r--r-- | drivers/net/ethernet/s6gmac.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/ethernet/s6gmac.c b/drivers/net/ethernet/s6gmac.c index bee97033167d..1895605abb35 100644 --- a/drivers/net/ethernet/s6gmac.c +++ b/drivers/net/ethernet/s6gmac.c | |||
@@ -370,12 +370,13 @@ struct s6gmac { | |||
370 | } link; | 370 | } link; |
371 | }; | 371 | }; |
372 | 372 | ||
373 | static void s6gmac_rx_fillfifo(struct s6gmac *pd) | 373 | static void s6gmac_rx_fillfifo(struct net_device *dev) |
374 | { | 374 | { |
375 | struct s6gmac *pd = netdev_priv(dev); | ||
375 | struct sk_buff *skb; | 376 | struct sk_buff *skb; |
376 | while ((((u8)(pd->rx_skb_i - pd->rx_skb_o)) < S6_NUM_RX_SKB) && | 377 | while ((((u8)(pd->rx_skb_i - pd->rx_skb_o)) < S6_NUM_RX_SKB) && |
377 | (!s6dmac_fifo_full(pd->rx_dma, pd->rx_chan)) && | 378 | (!s6dmac_fifo_full(pd->rx_dma, pd->rx_chan)) && |
378 | (skb = dev_alloc_skb(S6_MAX_FRLEN + 2))) { | 379 | (skb = netdev_alloc_skb(dev, S6_MAX_FRLEN + 2))) { |
379 | pd->rx_skb[(pd->rx_skb_i++) % S6_NUM_RX_SKB] = skb; | 380 | pd->rx_skb[(pd->rx_skb_i++) % S6_NUM_RX_SKB] = skb; |
380 | s6dmac_put_fifo_cache(pd->rx_dma, pd->rx_chan, | 381 | s6dmac_put_fifo_cache(pd->rx_dma, pd->rx_chan, |
381 | pd->io, (u32)skb->data, S6_MAX_FRLEN); | 382 | pd->io, (u32)skb->data, S6_MAX_FRLEN); |
@@ -514,7 +515,7 @@ static irqreturn_t s6gmac_interrupt(int irq, void *dev_id) | |||
514 | spin_lock(&pd->lock); | 515 | spin_lock(&pd->lock); |
515 | if (s6dmac_termcnt_irq(pd->rx_dma, pd->rx_chan)) | 516 | if (s6dmac_termcnt_irq(pd->rx_dma, pd->rx_chan)) |
516 | s6gmac_rx_interrupt(dev); | 517 | s6gmac_rx_interrupt(dev); |
517 | s6gmac_rx_fillfifo(pd); | 518 | s6gmac_rx_fillfifo(dev); |
518 | if (s6dmac_termcnt_irq(pd->tx_dma, pd->tx_chan)) | 519 | if (s6dmac_termcnt_irq(pd->tx_dma, pd->tx_chan)) |
519 | s6gmac_tx_interrupt(dev); | 520 | s6gmac_tx_interrupt(dev); |
520 | s6gmac_stats_interrupt(pd, 0); | 521 | s6gmac_stats_interrupt(pd, 0); |
@@ -894,7 +895,7 @@ static int s6gmac_open(struct net_device *dev) | |||
894 | s6gmac_init_device(dev); | 895 | s6gmac_init_device(dev); |
895 | s6gmac_init_stats(dev); | 896 | s6gmac_init_stats(dev); |
896 | s6gmac_init_dmac(dev); | 897 | s6gmac_init_dmac(dev); |
897 | s6gmac_rx_fillfifo(pd); | 898 | s6gmac_rx_fillfifo(dev); |
898 | s6dmac_enable_chan(pd->rx_dma, pd->rx_chan, | 899 | s6dmac_enable_chan(pd->rx_dma, pd->rx_chan, |
899 | 2, 1, 0, 1, 0, 0, 0, 7, -1, 2, 0, 1); | 900 | 2, 1, 0, 1, 0, 0, 0, 7, -1, 2, 0, 1); |
900 | s6dmac_enable_chan(pd->tx_dma, pd->tx_chan, | 901 | s6dmac_enable_chan(pd->tx_dma, pd->tx_chan, |