Hi,
this patch at least warns if the mode could not be changed.
Currently, the mode is not even switched when the FIFO doesn't
drain.
Regards, Gunther
--- linux/drivers/parport/parport_pc.c-tim-cvs-15062000-plus-sunix-plus_x Sat Jun 17 14:43:18 2000
+++ linux/drivers/parport/parport_pc.c Sun Jun 18 21:26:14 2000
@@ -714,7 +714,9 @@
/* Set up parallel port FIFO mode.*/
parport_pc_data_forward (port); /* Must be in PS2 mode */
parport_pc_frob_control (port, PARPORT_CONTROL_STROBE, 0);
- change_mode (port, ECR_PPF); /* Parallel port FIFO */
+ r = change_mode (port, ECR_PPF); /* Parallel port FIFO */
+ if (r) printk (KERN_DEBUG "%s: Warning change_mode ECR_PPF failed\n", port->name);
+
port->physport->ieee1284.phase = IEEE1284_PH_FWD_DATA;
/* Write the data to the FIFO. */
@@ -793,7 +795,8 @@
PARPORT_CONTROL_STROBE |
PARPORT_CONTROL_AUTOFD,
0);
- change_mode (port, ECR_ECP); /* ECP FIFO */
+ r = change_mode (port, ECR_ECP); /* ECP FIFO */
+ if (r) printk (KERN_DEBUG "%s: Warning change_mode ECR_ECP failed\n", port->name);
port->physport->ieee1284.phase = IEEE1284_PH_FWD_DATA;
/* Write the data to the FIFO. */
@@ -917,7 +920,8 @@
PARPORT_CONTROL_STROBE |
PARPORT_CONTROL_AUTOFD,
0);
- change_mode (port, ECR_ECP); /* ECP FIFO */
+ r = change_mode (port, ECR_ECP); /* ECP FIFO */
+ if (r) printk (KERN_DEBUG "%s: Warning change_mode ECR_ECP failed\n", port->name);
port->ieee1284.phase = IEEE1284_PH_REV_DATA;
/* Do the transfer. */
-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --
This archive was generated by hypermail 2b29 : Sun Jun 18 2000 - 15:41:16 EDT