linux/drivers/usb/serial
Johan Hovold c14829fad8 USB: serial: fix potential runtime pm imbalance at device remove
Only call usb_autopm_put_interface() if the corresponding
usb_autopm_get_interface() was successful.

This prevents a potential runtime PM counter imbalance should
usb_autopm_get_interface() fail. Note that the USB PM usage counter is
reset when the interface is unbound, but that the runtime PM counter may
be left unbalanced.

Also add comment on why we don't need to worry about racing
resume/suspend on autopm_get failures.

Fixes: d5fd650cfc ("usb: serial: prevent suspend/resume from racing
against probe/remove")

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-27 15:04:08 -07:00
..
aircable.c USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
ark3116.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
belkin_sa.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
belkin_sa.h
bus.c USB: serial: fix potential runtime pm imbalance at device remove 2014-05-27 15:04:08 -07:00
ch341.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
console.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
cp210x.c USB: cp210x: Add 8281 (Nanotec Plug & Drive) 2014-04-16 13:56:07 -07:00
cyberjack.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
cypress_m8.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
cypress_m8.h USB: cypress_m8: only wake up MSR queue on changes 2014-01-03 12:42:24 -08:00
digi_acceleport.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
empeg.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ezusb_convert.pl
f81232.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add id for Brainboxes serial cards 2014-04-16 13:38:25 -07:00
ftdi_sio.c USB: serial: ftdi_sio: add id for Brainboxes serial cards 2014-04-16 13:38:25 -07:00
ftdi_sio.h USB: ftdi_sio: add support for FT-X series devices 2012-03-14 15:43:05 -07:00
garmin_gps.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
generic.c USB: serial: add missing braces 2014-03-12 12:44:50 -07:00
io_16654.h
io_edgeport.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
io_edgeport.h
io_ionsp.h
io_tables.h USB: io_edgeport: switch to generic TIOCMIWAIT implementation 2013-03-25 13:50:53 -07:00
io_ti.c USB: io_ti: fix firmware download on big-endian machines 2014-04-25 09:34:10 -07:00
io_ti.h
io_usbvend.h
ipaq.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ipw.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
ir-usb.c USB: serial: remove redundant OOM messages 2014-01-03 12:31:46 -08:00
iuu_phoenix.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
iuu_phoenix.h
Kconfig USB: serial: add Moxa UPORT 12XX/14XX/16XX driver 2014-01-03 12:34:07 -08:00
keyspan_pda.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
keyspan_usa26msg.h USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: keyspan: remove dead debugging code 2014-03-12 12:44:50 -07:00
keyspan.h USB: keyspan: fix NULL-pointer dereferences and memory leaks 2012-10-25 09:37:13 -07:00
kl5kusb105.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
kl5kusb105.h
kobil_sct.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
kobil_sct.h
Makefile USB: serial: add Moxa UPORT 12XX/14XX/16XX driver 2014-01-03 12:34:07 -08:00
Makefile-keyspan_pda_fw
mct_u232.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
mct_u232.h
metro-usb.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
mos7720.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
mos7840.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
mxuport.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
navman.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
omninet.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
opticon.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
option.c USB: usb_wwan: remove unimplemented set_termios 2014-05-27 15:04:07 -07:00
oti6858.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
oti6858.h
pl2303.c USB: pl2303: add ids for Hewlett-Packard HP POS pole displays 2014-04-16 13:56:07 -07:00
pl2303.h USB: pl2303: add ids for Hewlett-Packard HP POS pole displays 2014-04-16 13:56:07 -07:00
qcaux.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
qcserial.c usb: qcserial: remove interface number matching 2014-05-27 14:59:24 -07:00
quatech2.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
safe_serial.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
sierra.c USB: sierra: do not resume I/O on closing ports 2014-05-27 15:04:05 -07:00
spcp8x5.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
ssu100.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
symbolserial.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
ti_usb_3410_5052.c USB: serial: add missing newlines to dev_<level> messages. 2014-03-12 12:44:50 -07:00
ti_usb_3410_5052.h USB: serial: ti_usb_3410_5052: new device id for Abbot strip port cable 2013-06-19 15:54:45 -07:00
usb_debug.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
usb_wwan.c USB: usb_wwan: do not resume I/O on closing ports 2014-05-27 15:04:08 -07:00
usb-serial-simple.c USB: simple: add Dynastream ANT USB-m Stick device support 2014-02-04 12:59:15 -08:00
usb-serial.c USB: serial: fix sysfs-attribute removal deadlock 2014-04-24 12:50:56 -07:00
usb-wwan.h USB: usb_wwan: do not resume I/O on closing ports 2014-05-27 15:04:08 -07:00
visor.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
visor.h USB: serial: correct spelling mistakes in comments 2014-01-03 12:39:31 -08:00
whiteheat.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
whiteheat.h
wishbone-serial.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
xsens_mt.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00
zte_ev.c usb: delete non-required instances of include <linux/init.h> 2014-01-08 15:01:39 -08:00