J'écris un pilote SPI pour linux. Certains documents pertinents sont http://www.mjmwired.net/kernel/Documentation/spi/spi-summary et http://ww2.cs.fsu.edu/~rosentha/linux/2.6.26.5/docs/DocBook/kernel-api/ch25.html.Gestionnaire de rappel SPI complet
La plupart du temps, les transferts sont effectués avec succès et mon rappel de fin d'appel est appelé. Quand j'accède aux status
des messages, je vois toujours zéro (indiquant). Le actual_length
est de 112 (ma longueur de transfert) comme vous le souhaitez.
Cependant, après un certain temps, il peut arriver que je reçoive un rappel avec actual_length == 0
. Tous les appels suivants ont même actual_length == 224
. Après la fermeture du périphérique spi, le rappel est toujours appelé avec des longueurs de message qui augmentent rapidement (chaque appel est augmenté de 112), bien que je n'appelle plus spi_async
.
Quelqu'un peut-il donner un indice sur ce qui pourrait causer ce comportement?
Merci beaucoup!