예제 #1
0
void irlap_start_query_timer(struct irlap_cb *self, int S, int s)
{
	int timeout;

	
	timeout = ((sysctl_slot_timeout * HZ / 1000) * (S - s)
		   + XIDEXTRA_TIMEOUT + SMALLBUSY_TIMEOUT);

	
	irda_start_timer( &self->query_timer, timeout, (void *) self,
			  irlap_query_timer_expired);
}
예제 #2
0
void irlap_start_query_timer(struct irlap_cb *self, int S, int s)
{
	int timeout;

	/* Calculate when the peer discovery should end. Normally, we
	 * get the end-of-discovery frame, so this is just in case
	 * we miss it.
	 * Basically, we multiply the number of remaining slots by our
	 * slot time, plus add some extra time to properly receive the last
	 * discovery packet (which is longer due to extra discovery info),
	 * to avoid messing with for incomming connections requests and
	 * to accommodate devices that perform discovery slower than us.
	 * Jean II */
	timeout = ((sysctl_slot_timeout * HZ / 1000) * (S - s)
		   + XIDEXTRA_TIMEOUT + SMALLBUSY_TIMEOUT);

	/* Set or re-set the timer. We reset the timer for each received
	 * discovery query, which allow us to automatically adjust to
	 * the speed of the peer discovery (faster or slower). Jean II */
	irda_start_timer( &self->query_timer, timeout, (void *) self,
			  irlap_query_timer_expired);
}
예제 #3
0
파일: iriap.c 프로젝트: CSCLOG/beaglebone
static inline void iriap_start_watchdog_timer(struct iriap_cb *self,
					      int timeout)
{
	irda_start_timer(&self->watchdog_timer, timeout, self,
			 iriap_watchdog_timer_expired);
}
예제 #4
0
void irlap_start_mbusy_timer(struct irlap_cb *self, int timeout)
{
	irda_start_timer(&self->media_busy_timer, timeout,
			 (void *) self, irlap_media_busy_expired);
}
예제 #5
0
void irlap_start_backoff_timer(struct irlap_cb *self, int timeout)
{
	irda_start_timer(&self->backoff_timer, timeout, (void *) self,
			 irlap_backoff_timer_expired);
}
예제 #6
0
void irlap_start_final_timer(struct irlap_cb *self, int timeout)
{
	irda_start_timer(&self->final_timer, timeout, (void *) self,
			 irlap_final_timer_expired);
}
예제 #7
0
void irlmp_start_idle_timer(struct lap_cb *self, int timeout)
{
	irda_start_timer(&self->idle_timer, timeout, (void *) self,
			 irlmp_idle_timer_expired);
}
예제 #8
0
void irlmp_start_discovery_timer(struct irlmp_cb *self, int timeout)
{
	irda_start_timer(&self->discovery_timer, timeout, (void *) self,
			 irlmp_discovery_timer_expired);
}
예제 #9
0
void irlmp_start_watchdog_timer(struct lsap_cb *self, int timeout)
{
	irda_start_timer(&self->watchdog_timer, timeout, (void *) self,
			 irlmp_watchdog_timer_expired);
}
예제 #10
0
void irlap_start_mbusy_timer(struct irlap_cb *self)
{
	irda_start_timer(&self->media_busy_timer, MEDIABUSY_TIMEOUT, 
			 (void *) self, irlap_media_busy_expired);
}