list_add(&tmp->list, &ieee->crypt_deinit_list); if (!timer_pending(&ieee->crypt_deinit_timer)) { ieee->crypt_deinit_timer.expires = jiffies + HZ; add_timer(&ieee->crypt_deinit_timer); 
if (!ieee->crypt_quiesced) { list_add(&tmp->list, &ieee->crypt_deinit_list); if (!timer_pending(&ieee->crypt_deinit_timer)) { ieee->crypt_deinit_timer.expires = jiffies + HZ; add_timer(&ieee->crypt_deinit_timer); } 
void ieee80211_crypt_delayed_deinit(struct ieee80211_device *ieee,				    struct ieee80211_crypt_data **crypt){	struct ieee80211_crypt_data *tmp;	unsigned long flags;	if (*crypt == NULL)		return;	tmp = *crypt;	*crypt = NULL;	/* must not run ops->deinit() while there may be pending encrypt or	 * decrypt operations. Use a list of delayed deinits to avoid needing	 * locking. */	spin_lock_irqsave(&ieee->lock, flags);	list_add(&tmp->list, &ieee->crypt_deinit_list);	if (!timer_pending(&ieee->crypt_deinit_timer)) {		ieee->crypt_deinit_timer.expires = jiffies + HZ;		add_timer(&ieee->crypt_deinit_timer);	}	spin_unlock_irqrestore(&ieee->lock, flags);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/0ad0c3c64484b1458b51167bd3e614d8d9d070f8/ieee80211_crypt.c/clean/net/ieee80211/ieee80211_crypt.c