Messages in this thread | | | Date | Wed, 9 Feb 2000 13:42:19 -0500 (EST) | From | M Sweger <> | Subject | Re: Kernel v2.2.15pre5 SCSI 2940U2W with AIC7895 boot still broke(withfix). |
| |
On Tue, 8 Feb 2000, Doug Ledford wrote:
> M Sweger wrote: > > > > Hi Doug, > > I have linux 2.2.15pre5 that has aic7xxx.c v5.1.23. To apply your > > patch below v5.1.25 I must first apply v5.1.24. > > > > However, when I went to your site and got aic7xxx.5.1.24.patch > > and did "patch -p1 <aic7xxx.5.1.24.patch" in /usr/src/linux, it > > dumped alot of hunks for aic7xxx.c into the rej file. THen when the > > v5.1.25 patch is applied to the aic7xxx.c driver it patches ok. > > This sounds like when you downloaded the 5.1.24 patch you used netscape and > you didn't shift-click on the link in order to force a regular download and > instead it displayed the patch in a browser window and you then had to save
Hi Doug,
I'm not using Netscape to do the downloads of your patches. I used lynx and saved the file to disk. Anyhow, I've tried to breakdown and list a few things that should be taken care of along with my test results in items (A-F).
A). I've tried patching the 2.2.15pre5 kernel with your aic7xxx-5.1.24.patch and get the following patch errors below that I mentioned in yesterdays email. If I patch then with aic7xxx-5.1.25.patch file on top of the 5.1.24.patch in spite of the patch errors I don't get a any patch errors for 5.1.25's patch. Thus, I think the 2.2.15pre5 patch and now the 2.2.15pre6 patch for scsi's should be corrected if one uses these "pre" patches. Here is the patch error list:
patching file `drivers/scsi/aic7xxx/aic7xxx.seq' patching file `drivers/scsi/aic7xxx/aic7xxx.reg' patching file `drivers/scsi/aic7xxx.c' Hunk #30 FAILED at 10592. Hunk #31 FAILED at 10623. Hunk #32 FAILED at 10648. 3 out of 33 hunks FAILED -- saving rejects to drivers/scsi/aic7xxx.c.rej patching file `drivers/scsi/aic7xxx_seq.c' patching file `drivers/scsi/aic7xxx_reg.h' patching file `drivers/scsi/README.aic7xxx' patching file `drivers/scsi/aic7xxx_proc.c'
Here is the "rej" file.
*************** *** 10393,10399 **** * instead of slowing down if those exist. That's hard to do with simple * checksums though. */ - if(aic7xxx_verbose & VERBOSE_NEGOTIATION) { printk(INFO_LEAD "reducing SCSI transfer speed due to Domain " "validation failure.\n", p->host_no, CTL_OF_CMD(cmd)); --- 10592,10598 ---- * instead of slowing down if those exist. That's hard to do with simple * checksums though. */ + if(aic7xxx_verbose & VERBOSE_NEGOTIATION2) { printk(INFO_LEAD "reducing SCSI transfer speed due to Domain " "validation failure.\n", p->host_no, CTL_OF_CMD(cmd)); *************** *** 10424,10430 **** } else { - if(aic7xxx_verbose & VERBOSE_NEGOTIATION) { printk(INFO_LEAD "Performing Domain validation.\n", p->host_no, CTL_OF_CMD(cmd)); --- 10623,10629 ---- } else { + if(aic7xxx_verbose & VERBOSE_NEGOTIATION2) { printk(INFO_LEAD "Performing Domain validation.\n", p->host_no, CTL_OF_CMD(cmd)); *************** *** 10449,10455 **** } else { - if( (aic7xxx_verbose & VERBOSE_NEGOTIATION) && (p->needdv & (1<<tindex)) ) { printk(INFO_LEAD "Successfully completed Domain validation.\n", --- 10648,10654 ---- } else { + if( (aic7xxx_verbose & VERBOSE_NEGOTIATION2) && (p->needdv & (1<<tindex)) ) { printk(INFO_LEAD "Successfully completed Domain validation.\n",
B). Based on your suggestion of patching the linux kernel 2.2.14 with your patches: aic7xxx-5.1.22.patch, 5.1.23, 5.1.24, 5.1.25 it will patch without problems. I then recompiled this kernel and rebooted. IT BOOTED WITH SUCCESS! for Narrow Channel B without problems. Hey! this is great service. :) So I guess the solution is the one provided by "Ben Herrenschmidt".
So need to fix the "pre" patch problems in item (A) for Alan Cox.
C). Is there any way to eliminate the other udelay() calls? Note: one udelay() comment says "1 msec" meaning one millisec whereas the udelay() means 1 microsec. Thus, the comment should say /* 1 usec */. I guess the msec() routines probably can't be eliminated.
udelay(1000); udelay(50); udelay(1); udelay(1); udelay(1); udelay(1); udelay(1); /* Do nothing */ \ udelay(1); udelay(1); udelay(1); udelay(1); /* 1 msec */
D). Although item(B) works now, still need to fix the "data-overrun" error that you responded to in an earlier email.
Linux version 2.2.14 (root@DosLinux) (gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)) #1 SMP Wed Feb 9 06:18:27 /etc/localtime 2000
[snipped alot here]
(scsi0) Cables present (Int-50 NO, Int-68 YES, Ext-68 NO) (scsi0) Downloading sequencer code... 383 instructions downloaded (scsi1) <Adaptec AIC-7895 Ultra SCSI host adapter> found at PCI 0/14/1 (scsi1) Narrow Channel B, SCSI ID=7, 32/255 SCBs (scsi1) Warning - detected auto-termination (scsi1) Please verify driver detected settings are correct. (scsi1) If not, then please properly set the device termination (scsi1) in the Adaptec SCSI BIOS by hitting CTRL-A when prompted (scsi1) during machine bootup. (scsi1) Cables present (Int-50 NO, Ext-50 NO) (scsi1) Downloading sequencer code... 383 instructions downloaded scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.25/3.2.4 <Adaptec AIC-7895 Ultra SCSI host adapter> scsi1 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 5.1.25/3.2.4 <Adaptec AIC-7895 Ultra SCSI host adapter> scsi2 : SCSI host adapter emulation for IDE ATAPI devices scsi : 3 hosts. (scsi0:0:0:0) Synchronous at 40.0 Mbyte/sec, offset 8. (scsi0:0:0:0) Data overrun detected in Data-In phase, tag 1; Have seen Data Phase. Length=255, NumSGs=1. sg[0] - Addr 0x7fec380 : Length 255 Vendor: WDIGTL Model: WDE9100-1807A4 Rev: 1.30 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 17783204 [8683 MB] [8.7 GB]
E). Here are some "make bzImage" and "make module" warnings I'm getting. Some of them are "SCSI" and should be cleaned up if possible so that one gets clean compiles. The others belong to other people. Perhaps Alan Cox could forward to the respective people. Note: I'm using gcc v1.0.3.
WARNINGS: BzImage
raid0.c: In function `raid0_map': raid0.c:187: warning: unsigned int format, long unsigned int arg (arg 2) /usr/src/linux/include/linux/blk.h:419: warning: `do_sd' defined but not used /usr/src/linux/include/linux/blk.h:443: warning: `do_sd_request' declared `static' but never defined scsi.h:641: warning: `end_scsi_request' defined but not used dquot.c: In function `get_empty_dquot': dquot.c:542: warning: `count' might be used uninitialized in this function apm.c: In function `apm_get_info': apm.c:1188: warning: unused variable `nbat' apm.c: At top level: apm.c:608: warning: `apm_get_battery_status' defined but not used
WARNINGS: modules
8390.c: In function `NS8390_trigger_send': 8390.c:1092: warning: unused variable `ei_local' soundmodule.h:23: warning: `sound_notifier' defined but not used soundmodule.h:23: warning: `sound_notifier' defined but not used
F). Here for reference is a cat of my /proc/pci so that you can confirm that the aic7xxx.c driver is correct for the hard chips used in my Dell Optiplex Gx1 333mhz.
PCI devices found: Bus 0, device 0, function 0: Host bridge: Intel 440BX - 82443BX Host (rev 2). Medium devsel. Master Capable. Latency=64. Prefetchable 32 bit memory at 0xf4000000 [0xf4000008]. Bus 0, device 1, function 0: PCI bridge: Intel 440BX - 82443BX AGP (rev 2). Medium devsel. Master Capable. Latency=64. Min Gnt=136. Bus 0, device 7, function 0: ISA bridge: Intel 82371AB PIIX4 ISA (rev 2). Medium devsel. Fast back-to-back capable. Master Capable. No bursts. Bus 0, device 7, function 1: IDE interface: Intel 82371AB PIIX4 IDE (rev 1). Medium devsel. Fast back-to-back capable. Master Capable. Latency=32. I/O at 0xffa0 [0xffa1]. Bus 0, device 7, function 2: USB Controller: Intel 82371AB PIIX4 USB (rev 1). Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=64. I/O at 0xdce0 [0xdce1]. Bus 0, device 7, function 3: Bridge: Intel 82371AB PIIX4 ACPI (rev 2). Medium devsel. Fast back-to-back capable. Bus 0, device 14, function 0: SCSI storage controller: Adaptec AIC-7895U (rev 3). Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=64. Min Gnt=8.Max Lat=8. I/O at 0xd800 [0xd801]. Non-prefetchable 32 bit memory at 0xff001000 [0xff001000]. Bus 0, device 14, function 1: SCSI storage controller: Adaptec AIC-7895U (rev 3). Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=64. Min Gnt=8.Max Lat=8. I/O at 0xd400 [0xd401]. Non-prefetchable 32 bit memory at 0xff000000 [0xff000000]. Bus 0, device 15, function 0: PCI bridge: DEC DC21152 (rev 3). Medium devsel. Fast back-to-back capable. Master Capable. Latency=64. Min Gnt=2. Bus 0, device 17, function 0: Ethernet controller: 3Com 3C905B 100bTX (rev 36). Medium devsel. IRQ 11. Master Capable. Latency=64. Min Gnt=10.Max Lat=10. I/O at 0xdc00 [0xdc01]. Non-prefetchable 32 bit memory at 0xff002000 [0xff002000]. Bus 1, device 0, function 0: VGA compatible controller: ATI Mach64 GB (rev 92). Medium devsel. Fast back-to-back capable. IRQ 11. Master Capable. Latency=64. Min Gnt=8. Non-prefetchable 32 bit memory at 0xfd000000 [0xfd000000]. I/O at 0xec00 [0xec01]. Non-prefetchable 32 bit memory at 0xfcfff000 [0xfcfff000].
Mike
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |