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øren,
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=0xc15a8300, type=1, rid=0, r=0x0; 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-security?
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örn Fischer
--
-----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+
------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>
