DragonFly kernel List (threaded) for 2008-12
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: Asus EEE, acpi and nata driver
Dmitry Komissaroff ?????:
Sepherosa Ziehau ?????:
Point 3 is really trouble, because all other I can around installing
DF on
main EEE disk.
--- ata-lowlevel.c.old Fri Dec 22 23:26:16 2006
+++ ata-lowlevel.c Mon Dec 15 06:37:58 2008
@@ -511,6 +511,7 @@
ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_IDS | ATA_A_RESET);
ata_udelay(10000);
ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_IDS);
+device_printf(dev,"Antihang magic string :)\n"); //there!!!
ata_udelay(100000);
What will happen if you increase the value, say, to 500000, in the
above ata_udelay() and remove the device_printf()?
I set ata_udelay() from 10000 to 500000. Nothing happend... It still hang.
Finally I solve this problem. There is a path witch enable using
tsleep() instead of DELAY in ata_udelay().
But one question still no answer. If device_printf() is above
ata_udelay() all ok, but if it below... I think guilty lay on acpi
timer, because without acpi on all work fine.
--- ata-all.c.old 2008-12-17 05:17:26 +0300
+++ ata-all.c 2008-12-17 05:15:25 +0300
@@ -827,10 +827,11 @@
{
/* for now just use DELAY, the timer/sleep subsytems are not there yet */
/* XXX use DRIVERSLEEP if possible */
-
+/*
if (1 || interval < (1000000/hz))
DELAY(interval);
- else
+ else
+*/
tsleep(&interval, 0, "ataslp", interval/(1000000/hz));
}
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]