[1997] in linux-scsi channel archive
Re: scsi.c module patch
daemon@ATHENA.MIT.EDU (Andrea Arcangeli)
Fri Jun 13 20:01:10 1997
Date: Sat, 14 Jun 1997 01:57:30 +0200 (CEST)
From: Andrea Arcangeli <arcangeli@mbox.queen.it>
Reply-To: Andrea Arcangeli <arcangeli@mbox.queen.it>
To: Eric Youngdale <eric@andante.jic.com>
cc: "Leonard N. Zubkoff" <lnz@dandelion.com>, linux-scsi@vger.rutgers.edu
In-Reply-To: <Pine.LNX.3.95.970612235133.12131D-100000@andante.jic.com>
On Thu, 12 Jun 1997, Eric Youngdale wrote:
>
>On Thu, 12 Jun 1997, Andrea Arcangeli wrote:
>
> The problem is that there should never be the possibility of a
>timeout unless there are commands that are running, and that if there are
>commands that are running there should not be the possibility of unloading
>the module. Turning off the timer is merely a band-aid - the fact remains
>that having an active timer implies that there is an active command.
This patch works as the band-aid, but I don' t know if it' s safe. I hope
this helps you to find a better patch and remove the band-aid that works
fine for me now :).
--- /usr/src/linux/drivers/scsi/scsi.c Wed Jun 11 19:21:41 1997
+++ scsi.c Sat Jun 14 01:48:07 1997
@@ -570,7 +570,7 @@
SCpnt->request.rq_status = RQ_SCSI_BUSY;
scsi_do_cmd (SCpnt, (void *) scsi_cmd,
(void *) scsi_result,
- 256, scan_scsis_done, SCSI_TIMEOUT + 4 * HZ, 5);
+ 256, scan_scsis_done, 0, 5);
down (&sem);
}
>
> It is possible that there is a bug where the timer isn't canceled
>for some reason, or there is a bug whereby we allow the driver to be
>removed even though there are active commands.
>
> It would be nice to know what command is timing out for you, and
>where it originated from.
See the second patch...
If you make a better patch you can send it to me and I will try it.
If you need more info ask too.
Bye!
Andrea Arcangeli
arcangeli@mbox.queen.it
HomePage: http://www.imola.queen.it/user/arcangeli/
Debian Mirror: ftp://dida43.deis.unibo.it/pub/debian/
Debian GNU
__ _ __
/ / (_)__ __ ____ __/ /
/ /__/ / _ \/ // /\ \ /_/
/____/_/_//_/\_,_//_\_(_)