for (;;) {
                wb = &acm->wb[wbn];
                if (!wb->use) {
-                       wb->use = 1;
+                       wb->use = true;
                        wb->len = 0;
                        return wbn;
                }
        n = ACM_NW;
        spin_lock_irqsave(&acm->write_lock, flags);
        for (i = 0; i < ACM_NW; i++)
-               n -= acm->wb[i].use;
+               if(acm->wb[i].use)
+                       n--;
        spin_unlock_irqrestore(&acm->write_lock, flags);
        return n;
 }
  */
 static void acm_write_done(struct acm *acm, struct acm_wb *wb)
 {
-       wb->use = 0;
+       wb->use = false;
        acm->transmitting--;
        usb_autopm_put_interface_async(acm->control);
 }
                if (!urb)
                        break;
                wb = urb->context;
-               wb->use = 0;
+               wb->use = false;
                usb_autopm_put_interface_async(acm->control);
        }
 
        wb = &acm->wb[wbn];
 
        if (!acm->dev) {
-               wb->use = 0;
+               wb->use = false;
                spin_unlock_irqrestore(&acm->write_lock, flags);
                return -ENODEV;
        }
 
        stat = usb_autopm_get_interface_async(acm->control);
        if (stat) {
-               wb->use = 0;
+               wb->use = false;
                spin_unlock_irqrestore(&acm->write_lock, flags);
                return stat;
        }