[Prism54-devel] [patch 5/6] [prism54 svn trunk] various fixes for prism54 svn

jean-baptiste.note at wanadoo.fr jean-baptiste.note at wanadoo.fr
Sun May 15 11:44:14 UTC 2005


Index: trunk/ksrc/islpci_dev.c
===================================================================
--- trunk.orig/ksrc/islpci_dev.c	2005-05-15 13:00:02.000000000 +0200
+++ trunk/ksrc/islpci_dev.c	2005-05-15 13:14:47.000000000 +0200
@@ -214,7 +214,8 @@
 }
 
 static void
-update_queues(islpci_private *priv) {
+update_queues(unsigned long data) {
+	islpci_private *priv = (islpci_private *) data;
 	struct net_device *ndev = priv->ndev;
 
 	/* cleanup the data low transmit queue */
@@ -335,7 +336,7 @@
 		 * powerstate flag if necessary */
 		powerstate = ISL38XX_PSM_ACTIVE_STATE;
 
-		update_queues(priv);
+		tasklet_schedule(&priv->update_task);
 
 		irqs &= ~ISL38XX_INT_IDENT_UPDATE;
 		if (!irqs)
@@ -905,6 +906,7 @@
 	init_waitqueue_head(&priv->mgmt_wqueue);
 	sema_init(&priv->stats_sem, 1);
 	spin_lock_init(&priv->slock);
+	tasklet_init(&priv->update_task, update_queues, (unsigned long ) priv);
 
 	/* init state machine with off#1 state */
 	priv->state = PRV_STATE_OFF;
Index: trunk/ksrc/islpci_dev.h
===================================================================
--- trunk.orig/ksrc/islpci_dev.h	2005-05-15 12:59:58.000000000 +0200
+++ trunk/ksrc/islpci_dev.h	2005-05-15 13:00:02.000000000 +0200
@@ -164,6 +164,9 @@
 	dma_addr_t pci_map_tx_address[ISL38XX_CB_TX_QSIZE];
 	dma_addr_t pci_map_rx_address[ISL38XX_CB_RX_QSIZE];
 
+	/* queue update tasklet */
+	struct tasklet_struct update_task;
+
 	/* driver network interface members */
 	struct net_device_stats statistics;
 
Index: trunk/ksrc/islpci_hotplug.c
===================================================================
--- trunk.orig/ksrc/islpci_hotplug.c	2005-05-15 12:59:58.000000000 +0200
+++ trunk/ksrc/islpci_hotplug.c	2005-05-15 13:09:22.000000000 +0200
@@ -253,6 +253,7 @@
 		/* pci_set_power_state(pdev, 3);*/	/* try to power-off */
 	}
 
+	tasklet_disable(&priv->update_task);
 	free_irq(pdev->irq, priv);
 
 	/* free the PCI memory and unmap the remapped page */

--
Jean-Baptiste Note
+33 (0)6 83 03 42 38
jean-baptiste.note at wanadoo.fr


More information about the Prism54-devel mailing list