diff -Naur linux-2.6.30.4-orig/drivers/net/comcerto/comcerto_ved.c linux-2.6.30.4-new/drivers/net/comcerto/comcerto_ved.c
--- linux-2.6.30.4-orig/drivers/net/comcerto/comcerto_ved.c	2009-08-26 19:36:27.674652000 -0700
+++ linux-2.6.30.4-new/drivers/net/comcerto/comcerto_ved.c	2009-08-26 19:43:21.463504000 -0700
@@ -145,9 +145,9 @@
 	spin_lock(&priv->lock);
 
 	if (napi_schedule_prep(&priv->napi)) {
-		ved_generate_int(irq);
+		//ved_generate_int(irq);
 		PDEBUG(VED_RX_FUNC, "%s  ved_interruptRX : schedule poll\n", dev->name);
-		disable_irq(irq);
+		disable_irq_nosync(irq);
 		__napi_schedule(&priv->napi);
 	} else {
 		PDEBUG(VED_RX_FUNC, "%s ved_interruptRX bug! interrupt while in poll\n", dev->name);
@@ -512,6 +512,8 @@
 
 		smi_queue_init(&priv->tx_smiq, info->CSPtoMSPQueuePhyaddr, SFL_genint_cpu0);
 		smi_queue_init(&priv->rx_smiq, info->MSPtoCSPQueuePhyaddr, NULL);
+		netif_wake_queue(dev);
+		napi_enable(&priv->napi);
 		ved_ack_MSP();
 		return 0;
 	}
