diff options
Diffstat (limited to 'drivers/net/ps3_gelic_net.c')
-rw-r--r-- | drivers/net/ps3_gelic_net.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/net/ps3_gelic_net.c b/drivers/net/ps3_gelic_net.c index 31c3092e66af..93c2c39a4a49 100644 --- a/drivers/net/ps3_gelic_net.c +++ b/drivers/net/ps3_gelic_net.c | |||
@@ -716,25 +716,17 @@ static int gelic_net_kick_txdma(struct gelic_net_card *card, | |||
716 | struct gelic_net_descr *descr) | 716 | struct gelic_net_descr *descr) |
717 | { | 717 | { |
718 | int status = 0; | 718 | int status = 0; |
719 | int count = 10; | ||
720 | 719 | ||
721 | if (card->tx_dma_progress) | 720 | if (card->tx_dma_progress) |
722 | return 0; | 721 | return 0; |
723 | 722 | ||
724 | if (gelic_net_get_descr_status(descr) == GELIC_NET_DESCR_CARDOWNED) { | 723 | if (gelic_net_get_descr_status(descr) == GELIC_NET_DESCR_CARDOWNED) { |
725 | card->tx_dma_progress = 1; | 724 | card->tx_dma_progress = 1; |
726 | /* sometimes we need retry here */ | 725 | status = lv1_net_start_tx_dma(bus_id(card), dev_id(card), |
727 | while (count--) { | 726 | descr->bus_addr, 0); |
728 | status = lv1_net_start_tx_dma(bus_id(card), | 727 | if (status) |
729 | dev_id(card), | ||
730 | descr->bus_addr, 0); | ||
731 | if (!status) | ||
732 | break; | ||
733 | } | ||
734 | if (!count) | ||
735 | dev_info(ctodev(card), "lv1_net_start_txdma failed," \ | 728 | dev_info(ctodev(card), "lv1_net_start_txdma failed," \ |
736 | "status=%d %#lx\n", | 729 | "status=%d\n", status); |
737 | status, card->irq_status); | ||
738 | } | 730 | } |
739 | return status; | 731 | return status; |
740 | } | 732 | } |