X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Fiface-host-dev.c;fp=linux_module%2Fiface-host-dev.c;h=b9d754d686cee05a5a9943c3093cfa72ec884c89;hb=5c40a15de52c320b70c94331e482b25fdcf768c4;hp=86b0e0c66365577d977c165a7b65bbd1a22ed363;hpb=11e57762fa5ebb2775b8f8fcfa5ad8fe03cddf17;p=palacios.git diff --git a/linux_module/iface-host-dev.c b/linux_module/iface-host-dev.c index 86b0e0c..b9d754d 100644 --- a/linux_module/iface-host-dev.c +++ b/linux_module/iface-host-dev.c @@ -301,6 +301,10 @@ static unsigned int host_dev_poll(struct file * filp, palacios_spinlock_lock_irqsave(&(dev->lock),f); + + // register ourselves on the user wait queue + poll_wait(filp, &(dev->user_wait_queue), poll_tb); + if (dev->waiting) { // Yes, we have a request if you want it! palacios_spinlock_unlock_irqrestore(&(dev->lock),f); @@ -310,9 +314,6 @@ static unsigned int host_dev_poll(struct file * filp, // No request yet, so we need to wait for one to show up. - // register ourselves on the user wait queue - poll_wait(filp, &(dev->user_wait_queue), poll_tb); - palacios_spinlock_unlock_irqrestore(&(dev->lock),f); DEEP_DEBUG_PRINT("palacios: hostdev: poll delayed\n");