дак все ж на поверхности, идем в сорцы ядра, задаем строчку поиска по файлам с содержимым "waiting end", следы выводят на drivers/mmc/host/at91_mci.c
там есть п/п:
вот результат ее работы и должен вас волновать, точнее исправить ошибку в работе (дам 70% что накосячили атмеловцы)
Подскажите, как человеку знающему C (или думающему что он знающий) научится комфортно чувствовать себя в Linux? Книги есть какие? или только практика?
например, где посмотреть вызов at91_timeout_timer()...?
хм.. отвечу, как человек практически не знающий Си, в моем случае помогает практика и чуть везения. гугление конечно хорошо помогает..
По уму, надо конечно читать ман по языку, да собственно и склад ума иметь программистский..
Где посмотреть?.. хех.. делаем поиск по "at91_timeout_timer". в этом же файле в функции
static int __init at91_mci_probe(struct platform_device *pdev)
есть "подозрительная" строка:
полагаю, что setup_timer - это что-то из п/п ядра и ей, как аргумент передается указатель на at91_timeout_timer