Je suis en train de porter/déboguer un pilote de périphérique (utilisé par un autre module noyau) et de faire face à une impasse parce que dma_sync_single_for_device() échoue avec un noyau oops.Où commencer à apprendre sur linux DMA/pilotes de périphériques/allocation de mémoire
Je n'ai aucune idée de ce que cette fonction est supposée faire et googler ne m'aide pas vraiment, donc j'ai probablement besoin d'en apprendre plus sur ce genre de choses au total.
La question est, par où commencer?
Oh oui, dans le cas où il est pertinent, le code est censé fonctionner sur un PowerPC (et linux est OpenWRT)
EDIT: preferrable (livres prennent des ressources en ligne quelques jours à livrer :)
Pourrait aider à avoir le traceback oops (sous forme symbolique). Cela n'est pas censé se produire, comme vous l'avez probablement deviné. La raison la plus probable est qu'elle est appelée deux fois dans la même région DMA. –
En fait, je pense que je vais poster une nouvelle question à ce sujet (comme le problème arrive avec 2.6.30.10, mais pas sur 2.6.23) – Kimvais