iReturn = PutChars(pdx, buffer, n);
        }
 
-       Allowi(pdx, false);     // make sure we have input int
+       Allowi(pdx);            // make sure we have input int
        mutex_unlock(&pdx->io_mutex);
 
        return iReturn;
        mutex_lock(&pdx->io_mutex);     // Protect disconnect from new i/o
        iReturn = PutChars(pdx, &c, 1);
        dev_dbg(&pdx->interface->dev, "SendChar >%c< (0x%02x)", c, c);
-       Allowi(pdx, false);     // Make sure char reads are running
+       Allowi(pdx);    // Make sure char reads are running
        mutex_unlock(&pdx->io_mutex);
        return iReturn;
 }
 
        dev_dbg(&pdx->interface->dev, "GetChar");
 
-       Allowi(pdx, false);     // Make sure char reads are running
-       SendChars(pdx);         // and send any buffered chars
+       Allowi(pdx);    // Make sure char reads are running
+       SendChars(pdx); // and send any buffered chars
 
        spin_lock_irq(&pdx->charInLock);
        if (pdx->dwNumInput > 0)        // worth looking
                iReturn = U14ERR_NOIN;  // no input data to read
        spin_unlock_irq(&pdx->charInLock);
 
-       Allowi(pdx, false);     // Make sure char reads are running
+       Allowi(pdx);    // Make sure char reads are running
 
        mutex_unlock(&pdx->io_mutex);   // Protect disconnect from new i/o
        return iReturn;
                return -ENOMEM;
 
        mutex_lock(&pdx->io_mutex);     // Protect disconnect from new i/o
-       Allowi(pdx, false);     // Make sure char reads are running
+       Allowi(pdx);    // Make sure char reads are running
        SendChars(pdx);         // and send any buffered chars
 
        spin_lock_irq(&pdx->charInLock);
        } else
                spin_unlock_irq(&pdx->charInLock);
 
-       Allowi(pdx, false);     // Make sure char reads are running
+       Allowi(pdx);    // Make sure char reads are running
        mutex_unlock(&pdx->io_mutex);   // Protect disconnect from new i/o
 
        return iReturn;
 {
        int iReturn;
        mutex_lock(&pdx->io_mutex);     // Protect disconnect from new i/o
-       Allowi(pdx, false);     // make sure we allow pending chars
+       Allowi(pdx);            // make sure we allow pending chars
        SendChars(pdx);         // in both directions
        iReturn = pdx->dwNumInput;      // no lock as single read
        mutex_unlock(&pdx->io_mutex);   // Protect disconnect from new i/o
        int iReturn = 0;        // will be count of line ends
 
        mutex_lock(&pdx->io_mutex);     // Protect disconnect from new i/o
-       Allowi(pdx, false);     // Make sure char reads are running
+       Allowi(pdx);            // Make sure char reads are running
        SendChars(pdx);         // and send any buffered chars
        spin_lock_irq(&pdx->charInLock);        // Get protection
 
 
        // in Allowi as if it were protected by the char lock. In any case, most systems will
        // not be upset by char input during DMA... sigh. Needs sorting out.
        if (bRestartCharInput)  // may be out of date, but...
-               Allowi(pdx, true);      // ...Allowi tests a lock too.
+               Allowi(pdx);    // ...Allowi tests a lock too.
        dev_dbg(&pdx->interface->dev, "%s done", __func__);
 }
 
        pdx->bReadCharsPending = false; // No longer have a pending read
        spin_unlock(&pdx->charInLock);  // already at irq level
 
-       Allowi(pdx, true);      // see if we can do the next one
+       Allowi(pdx);    // see if we can do the next one
 }
 
 /****************************************************************************
 ** we can pick up any inward transfers. This can be called in multiple contexts
 ** so we use the irqsave version of the spinlock.
 ****************************************************************************/
-int Allowi(DEVICE_EXTENSION * pdx, bool bInCallback)
+int Allowi(DEVICE_EXTENSION * pdx)
 {
        int iReturn = U14ERR_NOERROR;
        unsigned long flags;
                                 pdx, pdx->bInterval);
                pdx->pUrbCharIn->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;     // short xfers are OK by default
                usb_anchor_urb(pdx->pUrbCharIn, &pdx->submitted);       // in case we need to kill it
-               iReturn =
-                   usb_submit_urb(pdx->pUrbCharIn,
-                                  bInCallback ? GFP_ATOMIC : GFP_KERNEL);
+               iReturn = usb_submit_urb(pdx->pUrbCharIn, GFP_ATOMIC);
                if (iReturn) {
                        usb_unanchor_urb(pdx->pUrbCharIn);      // remove from list of active Urbs
                        pdx->bPipeError[nPipe] = 1;     // Flag an error to be handled later