Good catch.  What can I say, except "Ooops" :-).

    What exactly was the reason for dropping into the failure case?   This
normally shouldn't happen, but it isn't always a bug that it did.  I just
want to make sure that there isn't some other bug...

-Eric

----- Original Message -----
From: "Manfred Spraul" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Cc: "German Jose Gomez Garcia" <[EMAIL PROTECTED]>; "Tigran
Aivazian" <[EMAIL PROTECTED]>; "Steven N. Hirsch" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Friday, December 24, 1999 9:29 AM
Subject: Re: Bug at spinlock.h line 92


> 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;
>   }
>   }
>


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]

Reply via email to