diff options
author | Valentina Manea <valentina.manea.m@gmail.com> | 2014-03-08 16:53:34 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-03-09 10:48:43 +0400 |
commit | 6080cd0e9239469524d2aa07250ad4b9f383960d (patch) | |
tree | 0682e223b8d1345188251e6dd6b05fc1fb4f63c6 /drivers/usb/core | |
parent | a46034ca57ed6bdbb574a46ca3453061946b62f9 (diff) | |
download | linux-6080cd0e9239469524d2aa07250ad4b9f383960d.tar.xz |
staging: usbip: claim ports used by shared devices
A device should not be able to be used concurrently both by
the server and the client. Claiming the port used by the
shared device ensures no interface drivers bind to it and
that it is not usable from the server.
Signed-off-by: Valentina Manea <valentina.manea.m@gmail.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/core')
-rw-r--r-- | drivers/usb/core/hub.c | 2 | ||||
-rw-r--r-- | drivers/usb/core/usb.h | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 64ea21971be2..e4849333c8de 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -1819,6 +1819,7 @@ int usb_hub_claim_port(struct usb_device *hdev, unsigned port1, *powner = owner; return rc; } +EXPORT_SYMBOL_GPL(usb_hub_claim_port); int usb_hub_release_port(struct usb_device *hdev, unsigned port1, struct dev_state *owner) @@ -1834,6 +1835,7 @@ int usb_hub_release_port(struct usb_device *hdev, unsigned port1, *powner = NULL; return rc; } +EXPORT_SYMBOL_GPL(usb_hub_release_port); void usb_hub_release_all_ports(struct usb_device *hdev, struct dev_state *owner) { diff --git a/drivers/usb/core/usb.h b/drivers/usb/core/usb.h index 823857767a16..222bbd2618f1 100644 --- a/drivers/usb/core/usb.h +++ b/drivers/usb/core/usb.h @@ -57,10 +57,6 @@ extern int usb_match_device(struct usb_device *dev, extern void usb_forced_unbind_intf(struct usb_interface *intf); extern void usb_rebind_intf(struct usb_interface *intf); -extern int usb_hub_claim_port(struct usb_device *hdev, unsigned port, - struct dev_state *owner); -extern int usb_hub_release_port(struct usb_device *hdev, unsigned port, - struct dev_state *owner); extern void usb_hub_release_all_ports(struct usb_device *hdev, struct dev_state *owner); extern bool usb_device_is_owned(struct usb_device *udev); |