diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2009-04-22 05:33:10 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-04-23 23:15:31 +0200 |
commit | ecf85e481a716cfe07406439fdc7ba9526bbfaeb (patch) | |
tree | f74809ac41d451e9fe721723a013db26d40adedc /drivers/usb | |
parent | USB: correct error handling in cdc-wdm (diff) | |
download | linux-ecf85e481a716cfe07406439fdc7ba9526bbfaeb.tar.xz linux-ecf85e481a716cfe07406439fdc7ba9526bbfaeb.zip |
USB: otg: Fix bug on remove path without transceiver
In the case where a gadget driver is removed while no
transceiver was found at probe time, a bug in
otg_put_transceiver() will trigger.
Provide symetric calls for otg_get_transceiver() and
otg_put_transceiver(), wherever a transceiver was found or
not.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/otg/otg.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/otg/otg.c b/drivers/usb/otg/otg.c index ff318fae7d4d..0a43a7db750f 100644 --- a/drivers/usb/otg/otg.c +++ b/drivers/usb/otg/otg.c @@ -43,7 +43,8 @@ EXPORT_SYMBOL(otg_get_transceiver); */ void otg_put_transceiver(struct otg_transceiver *x) { - put_device(x->dev); + if (x) + put_device(x->dev); } EXPORT_SYMBOL(otg_put_transceiver); |