summaryrefslogtreecommitdiffstats
path: root/drivers/staging/usbip/vhci_hcd.c
diff options
context:
space:
mode:
authorMárton Németh2011-06-13 23:47:39 +0200
committerGreg Kroah-Hartman2011-07-06 04:59:18 +0200
commitbfb4ce20708156fc1d3aae8771a13acd8434118c (patch)
tree1781de60306e975d643f254ab16564dca10fcab8 /drivers/staging/usbip/vhci_hcd.c
parentstaging: et131x: Remove typedefs from et1310_phy.h (diff)
downloadkernel-qcow2-linux-bfb4ce20708156fc1d3aae8771a13acd8434118c.tar.gz
kernel-qcow2-linux-bfb4ce20708156fc1d3aae8771a13acd8434118c.tar.xz
kernel-qcow2-linux-bfb4ce20708156fc1d3aae8771a13acd8434118c.zip
usbip: only dump valid port status
The wIndex parameter of vhci_hub_control() is always zero when the request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor() and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section 11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain any useful index. Only use valid rhport values. Signed-off-by: Márton Németh <nm127@freemail.hu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/usbip/vhci_hcd.c')
-rw-r--r--drivers/staging/usbip/vhci_hcd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
index 359b4647b601..658c674b8785 100644
--- a/drivers/staging/usbip/vhci_hcd.c
+++ b/drivers/staging/usbip/vhci_hcd.c
@@ -464,8 +464,11 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
if (usbip_dbg_flag_vhci_rh) {
pr_debug("port %d\n", rhport);
- dump_port_status(prev_port_status[rhport]);
- dump_port_status(dum->port_status[rhport]);
+ /* Only dump valid port status */
+ if (rhport >= 0) {
+ dump_port_status(prev_port_status[rhport]);
+ dump_port_status(dum->port_status[rhport]);
+ }
}
usbip_dbg_vhci_rh(" bye\n");