2000-12-17 20:12:29

by Alex Buell

[permalink] [raw]
Subject: 2.2.18 ide-scsi & scsi generic modules

There was a post on linux-kernel earlier today stating that "hdx=scsi" did
not work correctly if both were compiled as modules for 2.4.10-testxx and
a patch was posted.

I can confirm that this is true for 2.2.x, with "hdx=ide-scsi". Once I
compiled both statically into the kernel, it works.

Perhaps somone can backport the fixes? It would be nice to change 2.2 so
it can accept "hdx=scsi" for compatiblity with 2.4.

Cheers,
Alex
--
The truth is out there.

http://www.tahallah.clara.co.uk


2000-12-18 09:31:45

by Peter Samuelson

[permalink] [raw]
Subject: Re: 2.2.18 ide-scsi & scsi generic modules


[Alex Buell]
> I can confirm that this is true for 2.2.x, with "hdx=ide-scsi". Once
> I compiled both statically into the kernel, it works.
>
> Perhaps somone can backport the fixes? It would be nice to change 2.2
> so it can accept "hdx=scsi" for compatiblity with 2.4.

I'm confused. I just looked through the probing code and it appears
that "hdx=ide-scsi" should work the same whether ide-scsi is compiled
in or a module.

If you want "hdx=scsi" to be a synonym for "hdx=ide-scsi", that is easy
enough....

Peter

diff -urk~ 2.2.18/drivers/block/ide.c
--- 2.2.18/drivers/block/ide.c~ Fri Nov 3 19:20:34 2000
+++ 2.2.18/drivers/block/ide.c Mon Dec 18 02:57:45 2000
@@ -2509,7 +2509,7 @@
if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) {
const char *hd_words[] = {"none", "noprobe", "nowerr", "cdrom",
"serialize", "autotune", "noautotune",
- "slow", "swapdata", "bswap", NULL};
+ "slow", "swapdata", "bswap", "scsi", NULL};
unit = s[2] - 'a';
hw = unit / MAX_DRIVES;
unit = unit % MAX_DRIVES;
@@ -2549,6 +2549,9 @@
case -9: /* swapdata or bswap */
case -10:
drive->bswap = 1;
+ goto done;
+ case -11: /* "scsi" */
+ strcpy (drive->driver_req, "ide-scsi");
goto done;
case 3: /* cyl,head,sect */
drive->media = ide_disk;