I am using the io_request_lock as you mentioned below.
The another problem is that, when I build the driver for SMP,
and when I try to load it, I get a bunch of undefined symbols.
To get rid of this undefined symbols warnings and to make the
loading of the module work, I have to re-compile the kernel
with "set version information" option disabled. How do I make
my module loadable on the kernel compiled with "set version information"
option enabled ?
Any help greatly appreciated.
-hiren
> -----Original Message-----
> From: Kurt Garloff [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, July 25, 2000 12:13 PM
> To: [EMAIL PROTECTED]
> Cc: Linux SCSI list
> Subject: Re: need help
>
>
> On Tue, Jul 25, 2000 at 10:32:00AM -0600,
> [EMAIL PROTECTED] wrote:
> > We are testing our scsi hba driver for our adapter for SMP.
> The driver is a
> > loadable-module. It loaded without any problem. But while
> running I/O
> > (e.g. creat file system), it panics in
> scsi_request_queueable(). I see
> > the following message on the screen.
> >
> > panicInactive in scsi_request_queueable
> >
> > That means that req->rq_status is RQ_INACTIVE. I am not
> sure what should
> > be the value of rq_status at that point.
>
> AFAIK, RQ_INACTIVE means that you tried to queue a SCSI
> command, when there
> is no request pending.
>
> > The driver runs fine on UP machine. I am using
> io_request_lock to make
> > it SMP compliant.
>
> something like
>
> spin_lock_irqsave (&io_request_lock, flags);
> REAL_IRQ_HANDLER();
> spin_unlock_irqrestore (&io_request_lock, flags);
> RETURN;
>
> Make sure the restored flags are the same than the saved ones.
> This means, that they need to be local (per-CPU) on the stack
> and not a
> global variable.
>
> Regards,
> --
> Kurt Garloff <[EMAIL PROTECTED]> Eindhoven, NL
> GPG key: See mail header, key servers Linux kernel development
> SuSE GmbH, Nuernberg, FRG SCSI, Security
>
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]