patch-2.3.39 linux/drivers/parport/parport_pc.c

Next file: linux/drivers/pci/pci.c
Previous file: linux/drivers/net/wan/z85230.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.38/linux/drivers/parport/parport_pc.c linux/drivers/parport/parport_pc.c
@@ -153,9 +153,7 @@
 	const struct parport_pc_private *priv = p->physport->private_data;
 
 	/* Prevent further data transfer. */
-	parport_frob_control (p,
-			      PARPORT_CONTROL_STROBE,
-			      PARPORT_CONTROL_STROBE);
+	frob_econtrol (p, 0xe0, ECR_TST << 5);
 
 	/* Adjust for the contents of the FIFO. */
 	for (residue = priv->fifo_depth; ; residue--) {
@@ -171,7 +169,6 @@
 
 	/* Reset the FIFO. */
 	frob_econtrol (p, 0xe0, ECR_PS2 << 5);
-	parport_frob_control (p, PARPORT_CONTROL_STROBE, 0);
 
 	/* Now change to config mode and clean up. FIXME */
 	frob_econtrol (p, 0xe0, ECR_CNF << 5);
@@ -500,7 +497,7 @@
 			ret = 0;
 			if (!time_before (jiffies, expire)) {
 				/* Timed out. */
-				printk (KERN_DEBUG "Timed out\n");
+				printk (KERN_DEBUG "FIFO write timed out\n");
 				break;
 			}
 			ecrval = inb (ECONTROL (port));
@@ -601,7 +598,7 @@
 		ret = 0;
 		if (!time_before (jiffies, expire)) {
 			/* Timed out. */
-			printk (KERN_DEBUG "Timed out\n");
+			printk (KERN_DEBUG "DMA write timed out\n");
 			break;
 		}
 		/* Is serviceIntr set? */
@@ -677,9 +674,7 @@
 		printk (KERN_DEBUG "%s: FIFO is stuck\n", port->name);
 
 		/* Prevent further data transfer. */
-		parport_frob_control (port,
-				      PARPORT_CONTROL_STROBE,
-				      PARPORT_CONTROL_STROBE);
+		frob_econtrol (port, 0xe0, ECR_TST << 5);
 
 		/* Adjust for the contents of the FIFO. */
 		for (written -= priv->fifo_depth; ; written++) {
@@ -692,9 +687,6 @@
 
 		/* Reset the FIFO and return to PS2 mode. */
 		frob_econtrol (port, 0xe0, ECR_PS2 << 5);
-
-		/* De-assert strobe. */
-		parport_frob_control (port, PARPORT_CONTROL_STROBE, 0);
 	}
 
 	parport_wait_peripheral (port,
@@ -748,9 +740,7 @@
 		printk (KERN_DEBUG "%s: FIFO is stuck\n", port->name);
 
 		/* Prevent further data transfer. */
-		parport_frob_control (port,
-				      PARPORT_CONTROL_STROBE,
-				      PARPORT_CONTROL_STROBE);
+		frob_econtrol (port, 0xe0, ECR_TST);
 
 		/* Adjust for the contents of the FIFO. */
 		for (written -= priv->fifo_depth; ; written++) {
@@ -764,9 +754,6 @@
 		/* Reset the FIFO and return to PS2 mode. */
 		frob_econtrol (port, 0xe0, ECR_PS2 << 5);
 
-		/* De-assert strobe. */
-		parport_frob_control (port, PARPORT_CONTROL_STROBE, 0);
-
 		/* Host transfer recovery. */
 		parport_pc_data_reverse (port); /* Must be in PS2 mode */
 		udelay (5);
@@ -878,7 +865,7 @@
 			ret = 0;
 			if (!time_before (jiffies, expire)) {
 				/* Timed out. */
-				printk (KERN_DEBUG "Timed out\n");
+				printk (KERN_DEBUG "PIO read timed out\n");
 				break;
 			}
 			ecrval = inb (ECONTROL (port));

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)