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

Reply via email to