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 [EMAIL PROTECTED] with "unsubscribe freebsd-stable" in the body of the message