--- drivers/char/lp.c.orig	2006-03-20 06:53:29.000000000 +0100
+++ drivers/char/lp.c	2006-09-06 11:56:52.000000000 +0200
@@ -153,6 +153,8 @@
 static struct parport *console_registered; // initially NULL
 #endif /* CONFIG_LP_CONSOLE */
 
+static int disable_ecp = 0;
+
 #undef LP_DEBUG
 
 /* Bits used to manage claiming the parport device */
@@ -534,7 +536,8 @@
 	}
 	/* Determine if the peripheral supports ECP mode */
 	lp_claim_parport_or_block (&lp_table[minor]);
-	if ( (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) &&
+	if ( !disable_ecp &&
+	     (lp_table[minor].dev->port->modes & PARPORT_MODE_ECP) &&
              !parport_negotiate (lp_table[minor].dev->port, 
                                  IEEE1284_MODE_ECP)) {
 		printk (KERN_INFO "lp%d: ECP mode\n", minor);
@@ -760,6 +763,7 @@
 
 module_param_array(parport, charp, NULL, 0);
 module_param(reset, bool, 0);
+module_param(disable_ecp, bool, 0);
 
 #ifndef MODULE
 static int __init lp_setup (char *str)
