Встала такая проблема. Настраиваю DMA, запускаю на прием данных из устройства. Все делал по книге Linux Device Drivers. Все работает, данные передаются. Проблема в том ,что я не могу их получить! делаю так:
char *buffer2; buffer2=bus_to_virt(buffer_bus); /*преобразую адрес на шине в виртуальный*/ for(i=0; i<6;i++) printk("%x", buffer2[i]); /*принимается всего 160 байт, но выводим для примера 6*/
В результате выходит какая-то лажа, одна и та же неправильная последовательность чисел. Что я делаю неправильно, подскажите, пожалуйста.