usb: gadget: dummy_hcd: Reject hub port requests for non-existent ports
The `dummy_hub_control()` function handles USB hub class requests
to the virtual root hub. The `GetPortStatus` case returns -EPIPE for
requests with `wIndex != 1`, since the virtual root hub has only a
single port. However, the `ClearPortFeature` and `SetPortFeature`
cases lack the same check.
Fix this by extending the `wIndex != 1` rejection to both cases,
matching the existing behavior of `GetPortStatus`.
Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Cc: stable <stable@kernel.org>
Suggested-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Seungjin Bae <eeodqql09@gmail.com>
Reviewed-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://patch.msgid.link/20260518234314.1889396-1-eeodqql09@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
master
parent
f1ecb0e563
commit
7d9633528d
|
|
@ -2134,6 +2134,8 @@ static int dummy_hub_control(
|
|||
case ClearHubFeature:
|
||||
break;
|
||||
case ClearPortFeature:
|
||||
if (wIndex != 1)
|
||||
goto error;
|
||||
switch (wValue) {
|
||||
case USB_PORT_FEAT_SUSPEND:
|
||||
if (hcd->speed == HCD_USB3) {
|
||||
|
|
@ -2248,6 +2250,8 @@ static int dummy_hub_control(
|
|||
retval = -EPIPE;
|
||||
break;
|
||||
case SetPortFeature:
|
||||
if (wIndex != 1)
|
||||
goto error;
|
||||
switch (wValue) {
|
||||
case USB_PORT_FEAT_LINK_STATE:
|
||||
if (hcd->speed != HCD_USB3) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue