diff -urN -X /usr/src/dontdiff linux.clean/drivers/scsi/imm.c linux.current/drivers/scsi/imm.c --- linux.clean/drivers/scsi/imm.c Thu Nov 16 07:25:29 2000 +++ linux.current/drivers/scsi/imm.c Thu Nov 16 21:39:10 2000 @@ -122,7 +122,15 @@ struct Scsi_Host *hreg; int ports; int i, nhosts, try_again; - struct parport *pb = parport_enumerate(); + struct parport *pb; + + /* + * unlock to allow the lowlevel parport driver to probe + * the irqs + */ + spin_unlock_irq(&io_request_lock); + pb = parport_enumerate(); + spin_lock_irq(&io_request_lock); printk("imm: Version %s\n", IMM_VERSION); nhosts = 0; diff -urN -X /usr/src/dontdiff linux.clean/drivers/scsi/ppa.c linux.current/drivers/scsi/ppa.c --- linux.clean/drivers/scsi/ppa.c Thu Nov 16 07:25:29 2000 +++ linux.current/drivers/scsi/ppa.c Thu Nov 16 21:37:33 2000 @@ -111,7 +111,15 @@ struct Scsi_Host *hreg; int ports; int i, nhosts, try_again; - struct parport *pb = parport_enumerate(); + struct parport *pb; + + /* + * unlock to allow the lowlevel parport driver to probe + * the irqs + */ + spin_unlock_irq(&io_request_lock); + pb = parport_enumerate(); + spin_lock_irq(&io_request_lock); printk("ppa: Version %s\n", PPA_VERSION); nhosts = 0;