Re: Kernel v2.2.15pre5 SCSI 2940U2W with AIC7895 boot still broke(withfix).

From: M Sweger (mikesw@whiterose.net)
Date: Wed Feb 09 2000 - 13:42:19 EST


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/



This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:15 EST