PATCH for ATAng
Kevin Oberman
oberman at es.net
Thu Oct 16 09:43:47 PDT 2003
> Date: Thu, 16 Oct 2003 23:17:47 +0900
> From: Hiroyuki Aizu <eyes at navi.org>
> Sender: owner-freebsd-current at freebsd.org
>
> This is a multi-part message in MIME format.
>
> --Multipart_Thu__16_Oct_2003_23_17_47_+0900_0865e200
> Content-Type: text/plain; charset=US-ASCII
> Content-Transfer-Encoding: 7bit
>
> Hi.
>
> The original ata_reset() lost ATA-master drive and remove main file system
> after suspend/resume. Of cource it occors panic!
> I think that the ata_reset() in ata-lowlevel.c is bogus and I can not
> understand the code. So I study ATA and rewrite ata_reset() completely.
>
> New device detect algorism using ata command ATA_IDENTIFY_DEVICE and
> ATA_IDENTIFY_PACKET_DEVICE for judge ATA and ATAPI devices.
>
> This patch works fine with my TOSHIBA Libretto L5.
> But not yet test ATAPI devices and ATA-slave channel.
> Maybe there is need to adjust wait DELAY time.
>
> Please test and replace ata_reset().
>
> I hope this solve ATAng troubles.
I applied your patch and rebuilt my kernel on my ThinkPad T30 and the
behavior is changed, but not really improved.
Now, instead of hanging after "ata0: resetting devices .."
I now get:
ata0: Resetting devices ..
GEOM: destroy disk ad0 dp=0xc4945d70
ad0: WARNING - removed from configuration
done
ata1: resetting devices ..
ata1: check for dev existence:lsb=00 msb=00
ata1: check for dev existence:lsb=00 msb=00
done
I have only one ATA device which is master on ata0. (ad0).
Thanks for trying.
--
R. Kevin Oberman, Network Engineer
Energy Sciences Network (ESnet)
Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab)
E-mail: oberman at es.net Phone: +1 510 486-8634
More information about the freebsd-current
mailing list