if (!down_trylock(&shaper->sem)) { shaper_kick(shaper); up(&shaper->sem); } else mod_timer(&shaper->timer, jiffies); 
spin_lock(&shaper->lock); shaper_kick(shaper); spin_unlock(&shaper->lock); 
static void shaper_timer(unsigned long data){	struct shaper *shaper = (struct shaper *)data;	if (!down_trylock(&shaper->sem)) {		shaper_kick(shaper);		up(&shaper->sem);	} else		mod_timer(&shaper->timer, jiffies);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bc971dee6ece1fd0d431948924becd9c50e7b778/shaper.c/clean/drivers/net/shaper.c