Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c3d1182a538fd99b6fe5effa1ab54521c0efb1d1
Commit:     c3d1182a538fd99b6fe5effa1ab54521c0efb1d1
Parent:     2bf27a0d4913a5f0ef38e3be510b1b3add2869ad
Author:     Linas Vepstas <[EMAIL PROTECTED]>
AuthorDate: Mon Jun 11 13:26:50 2007 -0500
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Wed Jun 20 19:09:33 2007 -0400

    spidernet: silence the ramfull messages
    
    Although the previous patch resolved issues with hangs when the
    RX ram full interrupt is encountered, there are still situations
    where lots of RX ramfull interrupts arrive, resulting in a noisy
    log in syslog. There is no need for this.
    
    Signed-off-by: Linas Vepstas <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/spider_net.c |   20 +++++++++++---------
 drivers/net/spider_net.h |    1 +
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index f5ede5f..0e79bac 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -1172,7 +1172,7 @@ spider_net_decode_one_descr(struct spider_net_card *card)
                goto bad_desc;
        }
 
-       if (hwdescr->dmac_cmd_status & 0xfefe) {
+       if (hwdescr->dmac_cmd_status & 0xfcf4) {
                pr_err("%s: bad status, cmd_status=x%08x\n",
                               card->netdev->name,
                               hwdescr->dmac_cmd_status);
@@ -1251,6 +1251,7 @@ spider_net_poll(struct net_device *netdev, int *budget)
        if (no_more_packets) {
                netif_rx_complete(netdev);
                spider_net_rx_irq_on(card);
+               card->ignore_rx_ramfull = 0;
                return 0;
        }
 
@@ -1484,15 +1485,15 @@ spider_net_handle_error_irq(struct spider_net_card 
*card, u32 status_reg)
        case SPIDER_NET_GRFBFLLINT: /* fallthrough */
        case SPIDER_NET_GRFAFLLINT: /* fallthrough */
        case SPIDER_NET_GRMFLLINT:
-               if (netif_msg_intr(card) && net_ratelimit())
-                       pr_err("Spider RX RAM full, incoming packets "
-                              "might be discarded!\n");
                /* Could happen when rx chain is full */
-               spider_net_resync_head_ptr(card);
-               spider_net_refill_rx_chain(card);
-               spider_net_enable_rxdmac(card);
-               card->num_rx_ints ++;
-               netif_rx_schedule(card->netdev);
+               if (card->ignore_rx_ramfull == 0) {
+                       card->ignore_rx_ramfull = 1;
+                       spider_net_resync_head_ptr(card);
+                       spider_net_refill_rx_chain(card);
+                       spider_net_enable_rxdmac(card);
+                       card->num_rx_ints ++;
+                       netif_rx_schedule(card->netdev);
+               }
                show_error = 0;
                break;
 
@@ -2265,6 +2266,7 @@ spider_net_setup_netdev(struct spider_net_card *card)
 
        netdev->irq = card->pdev->irq;
        card->num_rx_ints = 0;
+       card->ignore_rx_ramfull = 0;
 
        dn = pci_device_to_OF_node(card->pdev);
        if (!dn)
diff --git a/drivers/net/spider_net.h b/drivers/net/spider_net.h
index b620f18..f457bce 100644
--- a/drivers/net/spider_net.h
+++ b/drivers/net/spider_net.h
@@ -462,6 +462,7 @@ struct spider_net_card {
        atomic_t tx_timeout_task_counter;
        wait_queue_head_t waitq;
        int num_rx_ints;
+       int ignore_rx_ramfull;
 
        /* for ethtool */
        int msg_enable;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to