>Hi,
>
>dmesg and the output of "ident /sys/dev/aic7xxx/*" and pciconf is
>attached (BTW: the -v options to pciconf isn't documented in the
>synopsis section of the man page).
>
>Do you need more information, e.g. the output of a verbose boot?
>
>Bye,
>Alexander.

I wish I had a system that exhibited this problem.  Unfortunately
I don't, so it has been difficult to get the workaround for this
particular hardware bug correct.

Can you see if this patch works for you?

--
Justin


Index: aic7xxx.c
===================================================================
RCS file: /usr/cvs/src/sys/dev/aic7xxx/aic7xxx.c,v
retrieving revision 1.41.2.17
diff -c -r1.41.2.17 aic7xxx.c
*** aic7xxx.c   2001/03/12 14:57:40     1.41.2.17
--- aic7xxx.c   2001/03/12 20:30:40
***************
*** 2006,2018 ****
  ahc_lookup_phase_entry(int phase)
  {
        struct ahc_phase_table_entry *entry;
!       int i;
  
        /*
         * num_phases doesn't include the default entry which
         * will be returned if the phase doesn't match.
         */
!       for (i = 0, entry = ahc_phase_table; i < num_phases; i++) {
                if (phase == entry->phase)
                        break;
        }
--- 2006,2019 ----
  ahc_lookup_phase_entry(int phase)
  {
        struct ahc_phase_table_entry *entry;
!       struct ahc_phase_table_entry *last_entry;
  
        /*
         * num_phases doesn't include the default entry which
         * will be returned if the phase doesn't match.
         */
!       last_entry = &ahc_phase_table[num_phases];
!       for (entry = ahc_phase_table; entry <= last_entry; entry++) {
                if (phase == entry->phase)
                        break;
        }
Index: aic7xxx.seq
===================================================================
RCS file: /usr/cvs/src/sys/dev/aic7xxx/aic7xxx.seq,v
retrieving revision 1.94.2.11
diff -c -r1.94.2.11 aic7xxx.seq
*** aic7xxx.seq 2001/03/12 14:57:43     1.94.2.11
--- aic7xxx.seq 2001/03/12 20:47:35
***************
*** 2076,2082 ****
                        test    DFSTATUS, HDONE jnz dma_scb_hang_dma_done;
                        test    DFSTATUS, HDONE jnz dma_scb_hang_dma_done;
                        test    DFSTATUS, HDONE jnz dma_scb_hang_dma_done;
-                       test    DFSTATUS, HDONE jnz dma_scb_hang_dma_done;
                        /*
                         * The PCI module no longer intends to perform
                         * a PCI transaction and HDONE has not come true.
--- 2076,2081 ----
***************
*** 2102,2107 ****
--- 2101,2107 ----
                         */
                        not     SINDEX;
                        add     A, 5, SINDEX;
+                       cmp     A, 4    je dma_finish;
                        jmp     dma_scb_hang_fifo;
  dma_scb_hang_dma_done:
                        and     DFCNTRL, ~HDMAEN;

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to