The device never needs to be resumed in close(). But the counters
must be balanced. As resumption can fail, but the counters must
be balanced, use the _no_resume() version which cannot fail.
Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
        spin_lock_irq(&intfdata->susp_lock);
        portdata->opened = 1;
        spin_unlock_irq(&intfdata->susp_lock);
+       /* this balances a get in the generic USB serial code */
        usb_autopm_put_interface(serial->interface);
 
        return 0;
                        usb_kill_urb(portdata->in_urbs[i]);
                for (i = 0; i < N_OUT_URB; i++)
                        usb_kill_urb(portdata->out_urbs[i]);
-               usb_autopm_get_interface(serial->interface);
+               /* balancing - important as an error cannot be handled*/
+               usb_autopm_get_interface_no_resume(serial->interface);
                serial->interface->needs_remote_wakeup = 0;
        }
 }