German Jose Gomez Garcia wrote:
> >
> > The request function of your hardware device driver returned without
> > owning the io_request_lock.
> 
>         It is a SCSI ZIP disk attached to an onboard AIC7890 (included in a
> Supermicro PDBU motherboard)
> 
I could reproduce it too:
* sym53810 [compiled as module]
* Iomega ZIP [no disk inserted]
* scsi midlayer statically linked into the kernel

if I start "modprobe sym53c8xx", then the kernel causes an oops.

The patch below fixes the problem.

german, could you try the patch below?

--
        Manfred
--- 2.3/drivers/scsi/scsi_lib.c Tue Dec 21 09:35:12 1999
+++ build-2.3/drivers/scsi/scsi_lib.c   Fri Dec 24 09:50:00 1999
@@ -821,12 +821,14 @@
                         * get those allocated here.  
                         */
                        if (!SDpnt->scsi_init_io_fn(SCpnt)) {
+                               spin_lock_irq(&io_request_lock);
                                continue;
                        }
                        /*
                         * Initialize the actual SCSI command for this request.
                         */
                        if (!STpnt->init_command(SCpnt)) {
+                               spin_lock_irq(&io_request_lock);
                                continue;
                        }
                }

Reply via email to