Messages in this thread |  | | From | "Wolfgang Baudler" <> | Date | Fri, 17 Jan 1997 12:46:58 +0100 | Subject | AIC7850 on IWill board refuses to work since 2.0.26 |
| |
Hi, this is an message from the AIC7xxx mailing list:
On Dec 11, 10:06am, Wolfgang Baudler wrote: > Subject: Re: AIC7850 on IWill board refuses to work since 2.0.26 > Hello, > > I tried again to compile the Linux 2.0.26 kernel, but the machine still > hangs after booting. No problems at all with Linux 2.0.25. I even > recompiled 2.0.25, but this one still works good. > > I don't understand this. I looked at the changes between this two > kernels, but I found nothing significant. In scsi.c some types are > changed from int to long. This is all. No change in the AICxxx specific > files. > > The kernel boots up to the message: > > VFS mounting virtual file system (or something like that) > > Then hangs for a about 15-20 seconds, then the message > > aic7xxx: (abort) Aborting scb 1, TCL = 1/0/0 > > apears for a while, maybe again 15-20 seconds. Then > I get screens full of different messages scrolling by fast. > One of the first was: > > aic7xxx: (match_scb) comparing target channel -1/A to scb 1 / A > aic7xxx: (reset_device) aborting SCB1, TCL = 1/0/0 > > > After some screens full with messages of this kind I get messages > from ext2-fsck about missing i-nodes and such things. > > If I reset then and boot up with 2.0.25 again everything works > perfectly, no corrupt file systems etc... > > > I wrote this from memory, because it is not logged anywhere. > > Any idea what change between 2.0.25 and 2.0.26 causes this strange > behaviour? > >
Because I did not get any answers concerning this problem I decided to track down this bug myself. I exchanged every File in the 2.0.25 kernel that changed in 2.0.26 with the 2.0.26 one and recompiled. And I finally located the right file:
It is linux/include/linux/major.h.
There is a change at the beginning:
In kernel 2.0.25:
/* limits */
#define MAX_CHRDEV 64 #define MAX_BLKDEV 64
In kernel 2.0.26 and the following kernels up to 2.0.28:
/* limits */
#define MAX_CHRDEV 128 #define MAX_BLKDEV 128
If I change MAX_BLKDEV back to 64 everything works well again. MAX_BLKDEV is used in linux/drivers/scsi/scsi.c.
Questions: What is the change good for? And why is the AIC7XXX-driver so badly effected when used on 7850-Chipsets? What are the consequences of setting this value back to 64?
My hardware configuration:
/proc/scsi/aic7xxx/0:
Adaptec AIC7xxx driver version: 4.0/3.2/4.0
Compile Options: AIC7XXX_RESET_DELAY : 15 AIC7XXX_TWIN_SUPPORT : Enabled AIC7XXX_TAGGED_QUEUEING: Disabled AIC7XXX_PAGE_ENABLE : Disabled AIC7XXX_PROC_STATS : Disabled
Adapter Configuration: SCSI Adapter: AIC-7850 (AIC-785x chipset) Host Bus: Single Base IO: 0x6100 IRQ: 11 SCBs: Used 3, HW 3, Page 3 Interrupts: 3014 Serial EEPROM: False Extended Translation: Disabled SCSI Bus Reset: Enabled Ultra SCSI: Disabled Target Disconnect: Enabled
/proc/scsi:
Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: SEAGATE Model: ST43400N Rev: 1028 Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 01 Lun: 00 Vendor: IBM Model: DPES-31080 Rev: S31Q Type: Direct-Access ANSI SCSI revision: 02 Host: scsi0 Channel: 00 Id: 02 Lun: 00 Vendor: IBM Model: DPES-31080 Rev: S31Q Type: Direct-Access ANSI SCSI revision: 02
-- ------------------------------------------------------- Wolfgang Baudler mailto:baudler@gsf.de Tel.: +49.89.31874463 Fax.: +49.89.31874243 Home-Page: http://lulu.gsf.de:8888 ------------------------------------------------------- **** earth is a beta site. ****
-- ------------------------------------------------------- Wolfgang Baudler mailto:baudler@gsf.de Tel.: +49.89.31874463 Fax.: +49.89.31874243 Home-Page: http://lulu.gsf.de:8888 ------------------------------------------------------- **** earth is a beta site. ****
|  |