From owner-freebsd-bugs Tue Mar 13 14:50: 9 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 217D237B718 for ; Tue, 13 Mar 2001 14:50:02 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f2DMo2k97750; Tue, 13 Mar 2001 14:50:02 -0800 (PST) (envelope-from gnats) Date: Tue, 13 Mar 2001 14:50:02 -0800 (PST) Message-Id: <200103132250.f2DMo2k97750@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: "Kenneth D. Merry" Subject: Re: kern/22733: RELENG_4 aic SCSI driver hangs up during disk detection on AVA-1505 Reply-To: "Kenneth D. Merry" Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org The following reply was made to PR kern/22733; it has been noted by GNATS. From: "Kenneth D. Merry" To: =?iso-8859-1?Q?Diethelm_Wildf=F6rster?= Cc: freebsd-gnats-submit@FreeBSD.org, kng@sc.ru Subject: Re: kern/22733: RELENG_4 aic SCSI driver hangs up during disk detection on AVA-1505 Date: Tue, 13 Mar 2001 15:40:18 -0700 --n8g4imXOkfNTN/H1 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit On Sat, Mar 03, 2001 at 10:10:45 -0800, Diethelm Wildförster wrote: > The following reply was made to PR kern/22733; it has been noted by GNATS. > > From: DiethelmW@t-online.de (Diethelm =?iso-8859-1?Q?Wildf=F6rster?=) > To: freebsd-gnats-submit@FreeBSD.org, kng@sc.ru > Cc: > Subject: Re: kern/22733: RELENG_4 aic SCSI driver hangs up during disk detection > on AVA-1505 > Date: Sat, 03 Mar 2001 19:03:51 +0000 > > --------------F0C41593FD934743ADA1930F > Content-Type: text/plain; charset=iso-8859-1 > Content-Transfer-Encoding: 8bit > > I can give a hint to the problem. > The bug seems to hide in the file src/sys/cam/cam_xpt.c . > Replacing this file by an older version , created by the command > cvs co -r 1.80.2.6 src/sys/cam/cam_xpt.c , > and compiling a new kernel may serve as a provisional fix . > Version 1.80.2.7 of the file mentioned above is faulty . > I have a strong guess what the fault is , but the author of the > changes > made (responsible gibbs@FreeBSD.org) should find more competent > answers than I can do. > > ..-- > Diethelm Wildförster I think the attached patch will fix the problem. Please let me know whether it works for you two. Ken -- Kenneth Merry ken@kdm.org --n8g4imXOkfNTN/H1 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="cam_xpt.c.period.20010313.stable" ==== //depot/FreeBSD-ken-RELENG_4/src/sys/cam/cam_xpt.c#3 - /c/ken/perforce6/FreeBSD-ken-RELENG_4/src/sys/cam/cam_xpt.c ==== *** /tmp/tmp.90465.0 Tue Mar 13 15:38:01 2001 --- /c/ken/perforce6/FreeBSD-ken-RELENG_4/src/sys/cam/cam_xpt.c Tue Mar 13 15:37:41 2001 *************** *** 5793,5814 **** cts->flags &= ~CCB_TRANS_TAG_ENB; cts->flags |= cur_cts.flags & CCB_TRANS_TAG_ENB; } if (((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 && (inq_data->flags & SID_Sync) == 0) ! || (cpi.hba_inquiry & PI_SDTR_ABLE) == 0) { /* Force async */ cts->sync_period = 0; cts->sync_offset = 0; ! } ! ! /* ! * Don't allow DT transmission rates if the ! * device does not support it. ! */ ! if ((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 ! && (inq_data->spi3data & SID_SPI_CLOCK_DT) == 0 ! && cts->sync_period <= 0x9) cts->sync_period = 0xa; switch (cts->bus_width) { case MSG_EXT_WDTR_BUS_32_BIT: --- 5793,5816 ---- cts->flags &= ~CCB_TRANS_TAG_ENB; cts->flags |= cur_cts.flags & CCB_TRANS_TAG_ENB; } + if (((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 && (inq_data->flags & SID_Sync) == 0) ! || ((cpi.hba_inquiry & PI_SDTR_ABLE) == 0) ! || (cts->sync_offset == 0) ! || (cts->sync_period == 0)) { /* Force async */ cts->sync_period = 0; cts->sync_offset = 0; ! } else if ((device->flags & CAM_DEV_INQUIRY_DATA_VALID) != 0 ! && (inq_data->spi3data & SID_SPI_CLOCK_DT) == 0 ! && cts->sync_period <= 0x9) { ! /* ! * Don't allow DT transmission rates if the ! * device does not support it. ! */ cts->sync_period = 0xa; + } switch (cts->bus_width) { case MSG_EXT_WDTR_BUS_32_BIT: --n8g4imXOkfNTN/H1-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message