I get the follpwing message every now and then on my potato box, a 
PowerBook 3400 (custom 2.2.17pre11, IDE settings not changed from pmac
standard), or even a complete lockup at boot time which forces me to
press the reset btn, and has already resulted in data loss(t+found): 

hda: Enabling MultiWord DMA 2
ide_pmace: wait_for_ready, error status: 51
pmac_ide_do_setfeature disk not ready after SET_FEATURE !
hda: dma_intr: status=0x00 { }
hda: Failed !

I have an 'alien'ized pmud 0.6.1 installed and its script
/etc/power/pwrctrl mentions fiddling with DMA on the PB 3400:

# -----------------------------------------------------------------------------
# On the 3400, for minimum power, we put the CPU into nap mode
# (rather than doze mode) when it is idle.  This reduces power
# consumption but means that DMA is no longer cache coherent.
# Therefore we have to disable DMA, including the ethernet.
# We also turn the ethernet off during sleep.
# -----------------------------------------------------------------------------

function pwrctl_3400() 
{
        case "$1" in
        minimum)
                ifconfig eth0 down
                hdparm -d0 -S 12 /dev/hda
                hdparm -d0 /dev/hdc
                echo 1 >/proc/sys/kernel/powersave-nap
        ;;
        medium)
                echo 0 >/proc/sys/kernel/powersave-nap
                hdparm -d1 -p -S 12 /dev/hda
                hdparm -d1 /dev/hdc
                ifconfig eth0 up
        ;;
        maximum)
                echo 0 >/proc/sys/kernel/powersave-nap
                case "$2" in
                ac)
                        # on mains, do not spin down
                        hdparm -d1 -p -S 0 /dev/hda
                ;;
                *)
                        # on battery, set disk to spin down after 5 minute
                        hdparm -d1 -p -S 60 /dev/hda
                ;;
                esac
                hdparm -d1 /dev/hdc
                ifconfig eth0 up
        ;;
        warning)
                do_warn
        ;;
        sleep)
                ifconfig eth0 down
        ;;
        wakeup)
                xrefresh 2> /dev/null
                ifconfig eth0 up
        ;;
        *)
                $logger -p daemon.error -t pwrctl "$0: invalid arg $1"
        ;;
        esac
}


Please help me to find out if it's a hardware problem. BTW I get the
same error msgs with the stock <= 2.2.17 kernels.

-- 
Andre

Reply via email to