Ошибка DSDT

Подскажите пожалуйста, где и что подправить.

Команда: iasl -tc dsdt.dsl

dsdt.dsl 3275: Method (_DSM, 4, Serialized)
Warning 1087 - ^ Not all control paths return a value (_DSM)
Warning 1080 - ^ Reserved method must return a value (_DSM)
Вот строки, где нужно исправить ошибку:

Method (_DSM, 4, Serialized)
{
Name (T_0, Zero)
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x75, 0x0B, 0xA5, 0xD4, 0xC7, 0x65, 0xF7, 0x46,
/* 0008 */ 0xBF, 0xB7, 0x41, 0x51, 0x4C, 0xEA, 0x02, 0x44
}))
{
While (One)
{
Store (ToInteger (Arg2), T_0)
If (LEqual (T_0, 0x00))
{
Return (Buffer (0x04)
{
0x33, 0x00, 0x50, 0x00
})
}
Else
{
If (LEqual (T_0, 0x01))
{
If (\_SB.PA3D)
{
Return (Buffer (0x04)
{
0x00, 0x04, 0x00, 0x00
})
}

Return (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
}
Else
{
If (LEqual (T_0, 0x04))
{
ShiftRight (ToInteger (Arg3), 0x1C, Local0)
If (And (Local0, 0x04)) {}
Else
{
Return (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
}

And (Local0, 0x03, Local1)
If (\_SB.PCI0.SBRG.EC0.SW3D)
{
Store (0x00, \_SB.PCI0.SBRG.EC0.SW3D)
If (Local1)
{
\_SB.ATKD.IANE (0x5A)
Return (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x40
})
}
Else
{
\_SB.ATKD.IANE (0x59)
Return (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x60
})
}
}

If (Local1)
{
Return (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x60
})
}

Return (Buffer (0x04)
{
0x00, 0x00, 0x00, 0x40
})
}
Else
{
If (LEqual (T_0, 0x05))
{
And (ToInteger (Arg3), 0x0FFF, Local1)
And (ToInteger (Arg3), 0x00FFF000, Local2)
ShiftRight (Local2, 0x0C, Local2)
If (LEqual (CHA1, 0x01))
{
Store (0x01, CHA3)
Store (Local1, \_SB.AVLD)
Store (Local2, \_SB.ACTD)
}

Store (0x00, CHA1)
Store (0x00, CHA2)
Return (0x00)
}
Else
{
If (LEqual (T_0, 0x14))
{
Return (Package (0x09)
{
0x0110,
0x0400,
Zero,
Zero,
One,
One,
0xE3,
Zero,
0x03E8
})
}
Else
{
If (LEqual (T_0, 0x16))
{
If (LEqual (ToInteger (Arg3), 0x01))
{
Return (TLKY)
}

Return (TLKY)
}
Else
{
}
}
}
}
}
}

Break
}
}
}
}
}

Все остальные ошибки исправил, а здесь не могу понять что и куда прописать.
Нагуглил, что надо вставить "Return (Zero)", но куда точно так и не понял.
Заранее всем спасибо!

Для начала - что это такое и

Для начала - что это такое и для чего это нужно.

Не грусти, товарищ! Всё хорошо, beautiful good!

1. Таблица DSDT

1. Таблица DSDT (Differentiated System Description Table) является самой сложной. Она содержит описание методов выполнения типовых системных опера­ций (например, считывание температуры процессора или изменение номера линии запроса на прерывание, используемой заданным устройством), информа­цию об устройствах, шинах, всех системных объектах и методах взаимодействия с ними. Декларации системных устройств (объекты System Plug and Play Nodes), также продублированы в этой таблице, при этом номенклатура описанных устройств существенно расширена. Таблица DSDT, в отличие от FADT, не форма­тирована, то есть доступ к заданной записи осуществляется не по фиксированно­му адресу, а последовательным сканированием и детектированием требуемой записи. Исходный код таблицы DSDT пишется программистом на языке ASL (ACPI Source Language), который преобразуется компилятором в код AML (ACPI Machine Language). Интерпретатор языка AML, входящий в состав операционной системы, обеспечивающий обработку DSDT, обычно называется виртуальной машиной ACPI. DSDT выступает посредником между драйверами и оборудованием, и это своего рода “подкладка” под BIOS. В коде этих таблиц находится описание всех устройств компьютера и алгоритмы управления их питанием, в том числе, конечно же, и вентилятора. При этом могут вылезти ошибки и предупреждения, причем в тех строках, которые вы и не трогали. Все говорят, что происходит это потому что почти все производители биосов пользуются компилятором от Microsoft, а он просто игнорирует многие ошибки, интеловский гораздо строже.
У меня на моем лэптопе ASUS например без компилирования ядра с моим DSDT,не работали горячие клавиши. Да и одна из причин стабильности работы железа напрямую
зависит какой DSDT написали программисты для BIOS(кривой или нормальный).

2.Перекомпилировать ядро с моим DSDT. В принципе я перекомпилировал ядро с родным DSDT, но эти два предупреждения не удалось побороть. Если кто знает, подскажите где
подправить.
3. Вот выхлоп на команду dmesg | grep -i acpi, после компиляции ядра с DSDT:
http://bpaste.net/show/106990/

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".