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.

--
Hiroyuki Aizu

Attachment: ata-lowlevel.c.diff
Description: Binary data

_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to