patch-pre2.0.10 linux/drivers/cdrom/cm206.c

Next file: linux/drivers/char/Config.in
Previous file: linux/drivers/block/floppy.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file pre2.0.9/linux/drivers/cdrom/cm206.c linux/drivers/cdrom/cm206.c
@@ -98,7 +98,7 @@
  * - Philips/LMS cm260 product specification
  *
  *                       David van Leeuwen, david@tm.tno.nl.  */
-#define VERSION "$Id: cm206.c,v 0.99 1996/04/14 20:26:26 david Exp $"
+#define VERSION "$Id: cm206.c,v 0.99 1996/04/14 20:26:26 david Exp david $"
 
 #include <linux/module.h>	
 
@@ -1189,6 +1189,11 @@
   else printk(" IRQ %d found\n", cm206_irq);
 #else
   reset_cm260();
+  /* Now, the problem here is that reset_cm260 can generate an
+     interrupt. It seems that this can cause a kernel oops some time
+     later. So we wait a while and `service' this interrupt. */
+  udelay(10);
+  outw(dc_normal | READ_AHEAD, r_data_control);
   printk(" using IRQ %d\n", cm206_irq);
 #endif
   if (send_receive_polled(c_drive_configuration) != c_drive_configuration) 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this