Bonjour,
J'essaye de développer un driver, dont un des services offerts est un .poll.
Mon problème est que dans ma fonction driver_poll(.), mon poll_wait n'attend jamais bien qu'aucun wake_up(.).
Mon code est du genre*:
static DECLARE_WAIT_QUEUE_HEAD(MaWq)*;
static unsigned int driver_poll(struct file *filp, poll_table *attente)
{
int retour = 0;
poll_wait(filp, & MaWq , attente);
retour |= POLLIN | POLLRDNORM;
return retour;
}
J'ai donc essayé de remplacer l'appel à poll_wait(.) par wait_event_interruptible(MaWq , 1) et par wait_event(MaWq , 1) et toujours aucune attente bien qu'aucun wake_up(.).
J'ai même essayé de mètre wait_event_interruptible(MaWq , 1) et wait_event(MaWq , 1) sur la fonction appelée lors de l'insmod de mon driver et encore le même problème......
Je suis preneur de toute idée
Merci
Partager