This should fix the tehuti napi fence post problems by getting
rid of priv->napi_stop, and setting weight to 32 (like other 10G).

Also, used the wierd entry/exit macro's like rest of driver.

--- a/drivers/net/tehuti.c      2007-11-13 22:19:14.000000000 -0800
+++ b/drivers/net/tehuti.c      2007-12-12 13:37:01.000000000 -0800
@@ -295,18 +295,12 @@ static int bdx_poll(struct napi_struct *
        ENTER;
        bdx_tx_cleanup(priv);
        work_done = bdx_rx_receive(priv, &priv->rxd_fifo0, budget);
-       if ((work_done < budget) ||
-           (priv->napi_stop++ >= 30)) {
+       if (work_done < budget) {
                DBG("rx poll is done. backing to isr-driven\n");
-
-               /* from time to time we exit to let NAPI layer release
-                * device lock and allow waiting tasks (eg rmmod) to advance) */
-               priv->napi_stop = 0;
-
                netif_rx_complete(dev, napi);
                bdx_enable_interrupts(priv);
        }
-       return work_done;
+       RET(work_done);
 }
 
 /* bdx_fw_load - loads firmware to NIC
@@ -2022,7 +2016,7 @@ bdx_probe(struct pci_dev *pdev, const st
                priv->nic = nic;
                priv->msg_enable = BDX_DEF_MSG_ENABLE;
 
-               netif_napi_add(ndev, &priv->napi, bdx_poll, 64);
+               netif_napi_add(ndev, &priv->napi, bdx_poll, 32);
 
                if ((readl(nic->regs + FPGA_VER) & 0xFFF) == 308) {
                        DBG("HW statistics not supported\n");
--- a/drivers/net/tehuti.h      2007-10-16 16:48:17.000000000 -0700
+++ b/drivers/net/tehuti.h      2007-12-12 13:25:25.000000000 -0800
@@ -257,7 +257,6 @@ struct bdx_priv {
        struct rxd_fifo rxd_fifo0;
        struct rxf_fifo rxf_fifo0;
        struct rxdb *rxdb;      /* rx dbs to store skb pointers */
-       int napi_stop;
        struct vlan_group *vlgrp;
 
        /* Tx FIFOs: 1 for data desc, 1 for empty (acks) desc */
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to