Re: Bug at spinlock.h line 92

Eric Youngdale (eric@andante.org)
Sun, 26 Dec 1999 18:16:12 -0000


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" <manfreds@colorfullife.com>
To: <torvalds@transmeta.com>; <linux-scsi@vger.rutgers.edu>
Cc: "German Jose Gomez Garcia" <german@pinon.ccu.uniovi.es>; "Tigran
Aivazian" <tigran@sco.COM>; "Steven N. Hirsch" <shirsch@adelphia.net>;
<linux-kernel@vger.rutgers.edu>
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-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/