Skip to content

Commit

Permalink
Spidernet remove rxramfull tasklet
Browse files Browse the repository at this point in the history
Get rid of the rxramfull tasklet, and let the NAPI poll routine
deal with this situation. (The rxramfull interrupt is simply
stating that the h/w has run out of room for incoming packets).

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: James K Lewis <jklewis@us.ibm.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Linas Vepstas authored and Jeff Garzik committed Feb 5, 2007
1 parent 5a02887 commit 7585617
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 24 deletions.
24 changes: 1 addition & 23 deletions drivers/net/spider_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -1220,24 +1220,6 @@ spider_net_set_mac(struct net_device *netdev, void *p)
return 0;
}

/**
* spider_net_handle_rxram_full - cleans up RX ring upon RX RAM full interrupt
* @card: card structure
*
* spider_net_handle_rxram_full empties the RX ring so that spider can put
* more packets in it and empty its RX RAM. This is called in bottom half
* context
*/
static void
spider_net_handle_rxram_full(struct spider_net_card *card)
{
while (spider_net_decode_one_descr(card, 0))
;
spider_net_enable_rxchtails(card);
spider_net_enable_rxdmac(card);
netif_rx_schedule(card->netdev);
}

/**
* spider_net_handle_error_irq - handles errors raised by an interrupt
* @card: card structure
Expand Down Expand Up @@ -1363,7 +1345,7 @@ spider_net_handle_error_irq(struct spider_net_card *card, u32 status_reg)
pr_err("Spider RX RAM full, incoming packets "
"might be discarded!\n");
spider_net_rx_irq_off(card);
tasklet_schedule(&card->rxram_full_tl);
netif_rx_schedule(card->netdev);
show_error = 0;
break;

Expand Down Expand Up @@ -1895,7 +1877,6 @@ spider_net_stop(struct net_device *netdev)
{
struct spider_net_card *card = netdev_priv(netdev);

tasklet_kill(&card->rxram_full_tl);
netif_poll_disable(netdev);
netif_carrier_off(netdev);
netif_stop_queue(netdev);
Expand Down Expand Up @@ -2040,9 +2021,6 @@ spider_net_setup_netdev(struct spider_net_card *card)

pci_set_drvdata(card->pdev, netdev);

card->rxram_full_tl.data = (unsigned long) card;
card->rxram_full_tl.func =
(void (*)(unsigned long)) spider_net_handle_rxram_full;
init_timer(&card->tx_timer);
card->tx_timer.function =
(void (*)(unsigned long)) spider_net_cleanup_tx_ring;
Expand Down
1 change: 0 additions & 1 deletion drivers/net/spider_net.h
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,6 @@ struct spider_net_card {
struct spider_net_descr_chain rx_chain;
struct spider_net_descr *low_watermark;

struct tasklet_struct rxram_full_tl;
struct timer_list tx_timer;
struct work_struct tx_timeout_task;
atomic_t tx_timeout_task_counter;
Expand Down

0 comments on commit 7585617

Please sign in to comment.