struct airo_info *local =  dev->ml_priv;
 
        if (!test_bit(JOB_STATS, &local->jobs)) {
-               /* Get stats out of the card if available */
-               if (down_trylock(&local->sem) != 0) {
-                       set_bit(JOB_STATS, &local->jobs);
-                       wake_up_interruptible(&local->thr_wait);
-               } else
-                       airo_read_stats(dev);
+               set_bit(JOB_STATS, &local->jobs);
+               wake_up_interruptible(&local->thr_wait);
        }
 
        return &dev->stats;
                set_bit(FLAG_UPDATE_UNI, &ai->flags);
                set_bit(FLAG_UPDATE_MULTI, &ai->flags);
 
-               if (down_trylock(&ai->sem) != 0) {
-                       set_bit(JOB_EVENT, &ai->jobs);
-                       wake_up_interruptible(&ai->thr_wait);
-               } else
-                       airo_send_event(ai->dev);
+               set_bit(JOB_EVENT, &ai->jobs);
+               wake_up_interruptible(&ai->thr_wait);
+
                netif_carrier_on(ai->dev);
        } else if (!scan_forceloss) {
                if (auto_wep && !ai->expires) {