Problem with NCR 53c810 driver in 2.0.10

Chris Adams (cadams@ro.com)
29 Jul 1996 19:22:32 GMT


I have a 486DX4-100 motherboard (ASUS PCI/I-486SP3G) with a built-in NCR
53c810 SCSI adapter. I am trying to run Linux on this machine. When I
boot up, however, Linux crashes. I can boot this computer from a floppy
I made with kernel 2.0.7. Here is the message I get when I boot 2.0.10
from the SCSI hard drive (this is a hand typed copy of the last screenful
of information):

FDC 0 is a National Semconductor PC87306
Started kswapd v 1.4.2.2
scsi-ncr53c7,8xx : at PCI bus 0, device 1, function 0
scsi-ncr53c7,8xx : NCR53c810 at memory 0xfbfff000, io 0xe800, irq 9
Unable to handle kernel NULL pointer dereference at virtual address c000000b
current->tss.cr3 = 00101000, %cr3 = 00101000
*pde = 00102067
*pte = 00000027
Oops: 0002
CPU: 0
EIP: 0010:[<001868dc>]
EFLAGS: 00010286
eax: 00001250 ebx: 07ff8068 ecx: fffffffc edx: ffffffff
esi: 07ff8018 edi: 07ff85fc ebp: 00000001 esp: 00014e48
ds: 0018 es: 0018 fs: 002b gs: 0018 ss: 0018
Process swapper (pid: 1, process nr: 1, stackpage=00014000)
Stack: 001b0080 00000001 00000002 00000001 fffffffc 00000000 00179c7d 00000000
00000000 00001250 00002278 000001d8 000009c8 00000008 0016f100 3552434e
31386333 00000030 0000000a 00000000 00000000 00000018 0016f41b 00000000
Call Trace: [<00179c7d>] [<0016f100>] [<0016f41b>] [<00186d41>] [<00186e86>] [<001828e4>] [<00180e34>]
[<001624e1>] [<0012f818>] [<0010a5b2>] [<0011edb0>] [<001093aa>] [<001091bd>] [<001091c4>] [<00109360>]
Code: 89 42 0c 8b 93 08 04 00 00 c7 42 04 00 00 00 00 8b 93 08 04

Here is the output from ksymoops:

Using `/System.map' to map addresses to symbols.

>>EIP: 1868dc <normal_init+4cc/5d0>
Trace: 179c7d <clear_selection+d/50>
Trace: 16f100 <set_origin+10/60>
Trace: 16f41b <lf+2b/60>
Trace: 186d41 <ncr_pci_init+361/370>
Trace: 186e86 <NCR53c7xx_detect+136/160>
Trace: 1828e4 <scsi_init+44/120>
Trace: 180e34 <scsi_dev_init+64/1a0>
Trace: 1624e1 <device_setup+11/40>
Trace: 12f818 <sys_setup+18/50>
Trace: 10a5b2 <system_call+52/80>
Trace: 11edb0 <kswapd>
Trace: 1093aa <init+4a/220>
Trace: 1091bd <start_kernel+15d/180>
Trace: 1091c4 <start_kernel+164/180>
Trace: 1093aa <init+4a/220>

Code: 1868dc <normal_init+4cc/5d0> movl %eax,0xc(%edx)
Code: 1868df <normal_init+4cf/5d0> movl 0x408(%ebx),%edx
Code: 1868e5 <normal_init+4d5/5d0> movl $0x0,0x4(%edx)
Code: 1868ec <normal_init+4dc/5d0> movl 0x90000408(%ebx),%edx
Code: 1868f2 <normal_init+4e2/5d0> nop

Here is the kernel .config file:

#
# Automatically generated make config: don't edit
#

#
# Code maturity level options
#
# CONFIG_EXPERIMENTAL is not set

#
# Loadable module support
#
# CONFIG_MODULES is not set

#
# General setup
#
# CONFIG_MATH_EMULATION is not set
CONFIG_NET=y
# CONFIG_MAX_16M is not set
CONFIG_PCI=y
CONFIG_SYSVIPC=y
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
CONFIG_KERNEL_ELF=y
# CONFIG_M386 is not set
CONFIG_M486=y
# CONFIG_M586 is not set
# CONFIG_M686 is not set

#
# Floppy, IDE, and other block devices
#
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_DEV_IDE is not set

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_ONLY is not set

#
# Additional Block Devices
#
# CONFIG_BLK_DEV_LOOP is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_XD is not set
# CONFIG_BLK_DEV_HD is not set

#
# Networking options
#
# CONFIG_FIREWALL is not set
# CONFIG_NET_ALIAS is not set
CONFIG_INET=y
# CONFIG_IP_FORWARD is not set
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ACCT is not set

#
# (it is safe to leave these untouched)
#
# CONFIG_INET_PCTCP is not set
# CONFIG_INET_RARP is not set
# CONFIG_NO_PATH_MTU_DISCOVERY is not set
CONFIG_IP_NOSR=y
CONFIG_SKB_LARGE=y

#
#
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_AX25 is not set
# CONFIG_NETLINK is not set

#
# SCSI support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_BLK_DEV_SR is not set
# CONFIG_CHR_DEV_SG is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
CONFIG_SCSI_CONSTANTS=y

#
# SCSI low-level drivers
#
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_NCR53C406A is not set
CONFIG_SCSI_NCR53C7xx=y
# CONFIG_SCSI_NCR53C7xx_sync is not set
# CONFIG_SCSI_NCR53C7xx_FAST is not set
# CONFIG_SCSI_NCR53C7xx_DISCONNECT is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set

#
# Network device support
#
CONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_EQUALIZER is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_RADIO is not set
CONFIG_NET_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
# CONFIG_EL1 is not set
# CONFIG_EL2 is not set
CONFIG_EL3=y
# CONFIG_VORTEX is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_ISA is not set
# CONFIG_NET_EISA is not set
# CONFIG_NET_POCKET is not set
# CONFIG_TR is not set
# CONFIG_ARCNET is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# CD-ROM drivers (not for SCSI or IDE/ATAPI drives)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Filesystems
#
# CONFIG_QUOTA is not set
# CONFIG_LOCK_MANDATORY is not set
# CONFIG_MINIX_FS is not set
# CONFIG_EXT_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_XIA_FS is not set
# CONFIG_FAT_FS is not set
# CONFIG_MSDOS_FS is not set
# CONFIG_VFAT_FS is not set
# CONFIG_UMSDOS_FS is not set
CONFIG_PROC_FS=y
CONFIG_NFS_FS=y
# CONFIG_ROOT_NFS is not set
# CONFIG_SMB_FS is not set
# CONFIG_ISO9660_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Character devices
#
# CONFIG_SERIAL is not set
# CONFIG_DIGI is not set
# CONFIG_CYCLADES is not set
# CONFIG_STALDRV is not set
# CONFIG_RISCOM8 is not set
# CONFIG_PRINTER is not set
# CONFIG_MOUSE is not set
# CONFIG_UMISC is not set
# CONFIG_QIC02_TAPE is not set
# CONFIG_FTAPE is not set
# CONFIG_APM is not set
# CONFIG_WATCHDOG is not set
# CONFIG_RTC is not set

#
# Sound
#
# CONFIG_SOUND is not set

#
# Kernel hacking
#
# CONFIG_PROFILE is not set

-- 
Chris Adams (C.Adams@Yellow-Jackets.com)
"So, if anybody wants to have hardware sent to them: don't call me, but
instead write your own unix operating system.  It has worked every time
for me." - Linus Torvalds, author of Linux (Unix-like) OS