Bug 57595 - kernel 2.4.9 : the ips driver doesn't work
kernel 2.4.9 : the ips driver doesn't work
Status: CLOSED CURRENTRELEASE
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.2
i686 Linux
high Severity high
: ---
: ---
Assigned To: Arjan van de Ven
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-12-17 05:14 EST by Le Tanou Jerome
Modified: 2005-10-31 17:00 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-06-07 19:49:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Le Tanou Jerome 2001-12-17 05:14:43 EST
From Bugzilla Helper:
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)

Description of problem:
The ips driver does not work with kernel 2.4.9 with Redhat 7.1 (2.4.9-12) 
ou 7.2 (2.4.9-13)

Version-Release number of selected component (if applicable): 2.4.9-13


How reproducible:
Always

Steps to Reproduce:
1. upgrade to kernel 2.4.9-13 on RH7.2 (or 2.4.9-12 on RH7.1)
2. compile with ips driver 
3. boot
	

Actual Results:  VFS: Cannot open root device "801" or 08:01
Please append a correct "root" boot option
Kernel panic: VFS: Unable to mount fs on 08:01

Expected Results:  Here's the result with kernel 2.4.7-10 :

...
VFS: Mounted Root (ext2 filesystem)
SCSI subsystem driver Revision: 1.00
scsi0 : IBM PCI ServeRAID 4.72.00 <ServeRAID 4Lx>
...


Additional info:

IBM eServer e220 (8645-5AX) with ServeRaid 4L
IBM eServer e230/netfinity 5100 (8658-21Y) with ServeRaid 4M

filesysteme-2.1.6-2
kernel-headers-2.4.9-13
kernel-source-2.4.9-13
glibc-common-2.2.4-19.3
glibc-devel-2.2.4-19.3
glibc-2.2.4-19.3

We've got the same problem with a RedHat 7.1 and kernel 2.4.9-12
The version of the ips driver in the kernel 2.4.9 is 4.80.20
Comment 1 Le Tanou Jerome 2001-12-17 16:26:32 EST
Here is the answer of ipslinux@us.ibm.com concerning this problem: 

----
Make sure the following line ( at the very end of ips.c ) is getting
included:

#include "scsi_module.c"

In the IBM version ( if you get the source from an IBM ServeRAID web site )
, the #ifdef before this line reads:

#if defined (MODULE)  ||  ( LINUX_VERSION_CODE >=LinuxVersionCode(2,4,0) )
#include "scsi_module.c"
#endif

but for some reason I think the Linux folks changed the #ifdef , which
means it won't work unless it's a module.
Make sure this  #include  is being included and I bet it works.
----


Here is the patch applied on RH7.2 kernel source 2.4.9-13 :

[root@crocus src]# cat patch-kernel-2.4.9-13-for-ips
diff -ruN linux-2.4.9-13/drivers/scsi/ips.c
linux-2.4.9-13-ips/drivers/scsi/ips.c
--- linux-2.4.9-13/drivers/scsi/ips.c   Mon Dec 17 21:41:48 2001
+++ linux-2.4.9-13-ips/drivers/scsi/ips.c       Mon Dec 17 22:10:23 2001
@@ -7568,7 +7568,7 @@

 MODULE_LICENSE("GPL");

-#if defined (MODULE)
+#if defined (MODULE) || (LINUX_VERSION_CODE >= LinuxVersionCode(2,4,0))
 static Scsi_Host_Template driver_template = IPS;
 #include "scsi_module.c"
 #endif

And it's work fine.
...
SCSI subsystem driver Revision: 1.00
scsi0 : IBM PCI ServeRAID 4.80.26  <ServeRAID 4Lx>
  Vendor: IBM       Model: SERVERAID         Rev: 1.00
  Type:   Direct-Access                      ANSI SCSI revision: 02
...
Comment 2 Arjan van de Ven 2002-01-04 05:28:30 EST
I've changed this in our tree for the next version/erratum

Note You need to log in before you can comment on or make changes to this bug.