diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2009-04-21 23:33:10 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-04-23 17:15:31 -0400 |
commit | ecf85e481a716cfe07406439fdc7ba9526bbfaeb (patch) | |
tree | f74809ac41d451e9fe721723a013db26d40adedc /drivers/usb/otg | |
parent | 052fbc0d7f76106725c998183d64dcacecd21f8f (diff) |
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/otg')
-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); | |||
43 | */ | 43 | */ |
44 | void otg_put_transceiver(struct otg_transceiver *x) | 44 | void otg_put_transceiver(struct otg_transceiver *x) |
45 | { | 45 | { |
46 | put_device(x->dev); | 46 | if (x) |
47 | put_device(x->dev); | ||
47 | } | 48 | } |
48 | EXPORT_SYMBOL(otg_put_transceiver); | 49 | EXPORT_SYMBOL(otg_put_transceiver); |
49 | 50 | ||