Date: Fri, 5 Apr 2002 17:24:47 +0200 From: Bjoern Fischer <bfischer@Techfak.Uni-Bielefeld.DE> To: =?iso-8859-1?Q?S=F8ren?= Schmidt <sos@freebsd.dk> Cc: freebsd-stable@FreeBSD.ORG Subject: Problems w/ MFCed ata driver Message-ID: <20020405152447.GA919@frolic.no-support.loc>
next in thread | raw e-mail | index | archive | help
Hello S=F8ren, While I'm building a backup solution for a client I was very pleased about the MFC of the attach/detach capable ata driver. The machine uses a SiS 5591, OS is out-of-the-box 4.5-20020402-STABLE, vanilla GENERIC+DDB kernel. During normal operarion everything seems to work fine, but I have a reproducible crash situation and some other issues: su-2.05a# atacontrol list ATA channel 0: Master: ad0 <ST340016A/3.10> ATA/ATAPI rev 5 Slave: no device present ATA channel 1: Master: ad2 <ST340016A/3.10> ATA/ATAPI rev 5 Slave: no device present 1.) FreeBSD constantly crashes, when I try to detach a channel twice: su-2.05a# atacontrol detach 1 su-2.05a# atacontrol detach 1 <CRASH> ata_detach() seems to call bus_release_resource() with (dev=3D0xc15a8300, type=3D1, rid=3D0, r=3D0x0; the latter one does not seem= right) although the channel is already detached and the kernel crashes later in nexus_release_resource(). BTW: It is possible to detach a channel with mounted devices. Ok, this is a "Doctor, it hurts when I poke me here."--"Then don't do it."-thing, but would it be that complicated to add some protect-me-from-myself-securit= y? 2.) This one is somehow more complicated. Fortunately it is not critical for me since there are no supported devices in my system: su-2.05a# atacontrol enclosure 1 0 atacontrol: ioctl(ATAENCSTAT): Device not configured su-2.05a# atacontrol enclosure 1 0 <HANG> The process hangs in tsleep() resp. mi_switch() forever. Any further actions on that ata channel may lead to a crash. Everything else keeps running. 3.) Is there a way to determine whether a channel is detached or attached with no devices? I can supply complete crash dumps on demand. -Bj=F6rn Fischer --=20 -----BEGIN GEEK CODE BLOCK----- GCS d--(+) s++: a- C+++(-) UB++++OSI++++$ P+++(-) L---(++) !E W- N+ o>+ K- !w !O !M !V PS++ PE- PGP++ t+++ !5 X++ tv- b+++ D++ G e+ h-- y+=20 ------END GEEK CODE BLOCK------ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020405152447.GA919>