>It seems that this only happens building them as modules, since it only
>occurs in the module cleanup function. Looking at the code leaves me
>very puzzled :)
To make them compile as modules:
diff -u --recursive --new-file linux/drivers/scsi/sd.c~
linux/drivers/scsi/sd.c
--- linux/drivers/scsi/sd.c~ Sat Jul 1 10:43:42 1995
+++ linux/drivers/scsi/sd.c Sat Jul 1 10:45:44 1995
@@ -15,6 +15,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1330,9 +1334,6 @@
}
#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;
int init_module(void) {
diff -u --recursive --new-file linux/drivers/scsi/sr.c~
linux/drivers/scsi/sr.c
--- linux/drivers/scsi/sr.c~ Sat Jul 1 10:45:57 1995
+++ linux/drivers/scsi/sr.c Sat Jul 1 11:16:27 1995
@@ -14,6 +14,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1074,9 +1078,6 @@
#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;
int init_module(void) {
To get them linked as modules (without elf?):
diff -u --recursive --new-file linux/drivers/scsi/Makefile~
linux/drivers/scsi/Makefile
--- linux/drivers/scsi/Makefile~ Sat Jul 1 11:05:40 1995
+++ linux/drivers/scsi/Makefile Sat Jul 1 12:30:38 1995
@@ -14,7 +14,7 @@
$(CC) $(CFLAGS) -c $<
# This is used for ELF - it needs to migrate or be moved.
-LD_RFLAG = -m elf_i386
+#LD_RFLAG = -m elf_i386
AHA152X = -DDEBUG_AHA152X -DAUTOCONF -DSKIP_BIOSTEST -DIRQ=11
To make them a loadable module 8-)):
diff -u --recursive --new-file linux/drivers/scsi/sr_ioctl.c~
linux/drivers/scsi/sr_ioctl.c
--- linux/drivers/scsi/sr_ioctl.c~ Sat Jul 1 14:12:23 1995
+++ linux/drivers/scsi/sr_ioctl.c Sat Jul 1 14:13:10 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
diff -u --recursive --new-file linux/drivers/scsi/sd_ioctl.c~
linux/drivers/scsi/sd_ioctl.c
--- linux/drivers/scsi/sd_ioctl.c~ Sat Jul 1 14:20:33 1995
+++ linux/drivers/scsi/sd_ioctl.c Sat Jul 1 14:21:37 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
_But_ when you use them, you4ll get a panic 8-(:
Detected scsi tape st0 at scsi0, chanel 0, id 5, lun 0
Atempt to allocate device chanel 0, targer 5, lun 0
kernel panic: No devide found in allocate device
(this happens somewhere in scsi.c)
Any hints?
Bye, Jojo
------------ REPLY ATTACHMENT --------
SENT 07-03-95 FROM SCHMITZ_JOACHIM @DUES
Hi Perry
>It seems that this only happens building them as modules, since it only
>occurs in the module cleanup function. Looking at the code leaves me
>very puzzled :)
To make them compile as modules:
diff -u --recursive --new-file linux/drivers/scsi/sd.c~
linux/drivers/scsi/sd.c
--- linux/drivers/scsi/sd.c~ Sat Jul 1 10:43:42 1995
+++ linux/drivers/scsi/sd.c Sat Jul 1 10:45:44 1995
@@ -15,6 +15,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1330,9 +1334,6 @@
}
#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;
int init_module(void) {
diff -u --recursive --new-file linux/drivers/scsi/sr.c~
linux/drivers/scsi/sr.c
--- linux/drivers/scsi/sr.c~ Sat Jul 1 10:45:57 1995
+++ linux/drivers/scsi/sr.c Sat Jul 1 11:16:27 1995
@@ -14,6 +14,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1074,9 +1078,6 @@
#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;
int init_module(void) {
To get them linked as modules (without elf?):
diff -u --recursive --new-file linux/drivers/scsi/Makefile~
linux/drivers/scsi/Makefile
--- linux/drivers/scsi/Makefile~ Sat Jul 1 11:05:40 1995
+++ linux/drivers/scsi/Makefile Sat Jul 1 12:30:38 1995
@@ -14,7 +14,7 @@
$(CC) $(CFLAGS) -c $<
# This is used for ELF - it needs to migrate or be moved.
-LD_RFLAG = -m elf_i386
+#LD_RFLAG = -m elf_i386
AHA152X = -DDEBUG_AHA152X -DAUTOCONF -DSKIP_BIOSTEST -DIRQ=11
To make them a loadable module 8-)):
diff -u --recursive --new-file linux/drivers/scsi/sr_ioctl.c~
linux/drivers/scsi/sr_ioctl.c
--- linux/drivers/scsi/sr_ioctl.c~ Sat Jul 1 14:12:23 1995
+++ linux/drivers/scsi/sr_ioctl.c Sat Jul 1 14:13:10 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
diff -u --recursive --new-file linux/drivers/scsi/sd_ioctl.c~
linux/drivers/scsi/sd_ioctl.c
--- linux/drivers/scsi/sd_ioctl.c~ Sat Jul 1 14:20:33 1995
+++ linux/drivers/scsi/sd_ioctl.c Sat Jul 1 14:21:37 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
_But_ when you use them, you4ll get a panic 8-(:
Detected scsi tape st0 at scsi0, chanel 0, id 5, lun 0
Atempt to allocate device chanel 0, targer 5, lun 0
kernel panic: No devide found in allocate device
(this happens somewhere in scsi.c)
Any hints?
Bye, Jojo