Date: Mon, 12 Mar 2001 13:51:44 -0700 From: "Justin T. Gibbs" <gibbs@scsiguy.com> To: Alexander Leidinger <Alexander@leidinger.net> Cc: current@freebsd.org Subject: Re: aic7880 prints some timeouts after recent commit (yesterday) Message-ID: <200103122051.f2CKpis38370@aslan.scsiguy.com> In-Reply-To: Your message of "Mon, 12 Mar 2001 15:44:36 %2B0100." <200103121444.f2CEicK04384@Magelan.Leidinger.net>
next in thread | previous in thread | raw e-mail | index | archive | help
>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 majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103122051.f2CKpis38370>