usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control()
This fixes the commit: 1cd8fd2887
("usb: gadget: dummy_hcd: add
SuperSpeed support").
In the case of ClearPortFeature and USB_PORT_FEAT_POWER, simply clear
the right bit regardless of what the wValue is.
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Yuyang Du <yuyang.du@intel.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
This commit is contained in:
parent
a2cfed4338
commit
9f20dfb44d
|
@ -2062,16 +2062,13 @@ static int dummy_hub_control(
|
|||
}
|
||||
break;
|
||||
case USB_PORT_FEAT_POWER:
|
||||
if (hcd->speed == HCD_USB3) {
|
||||
if (dum_hcd->port_status & USB_PORT_STAT_POWER)
|
||||
dev_dbg(dummy_dev(dum_hcd),
|
||||
"power-off\n");
|
||||
} else
|
||||
if (dum_hcd->port_status &
|
||||
USB_SS_PORT_STAT_POWER)
|
||||
dev_dbg(dummy_dev(dum_hcd),
|
||||
"power-off\n");
|
||||
/* FALLS THROUGH */
|
||||
dev_dbg(dummy_dev(dum_hcd), "power-off\n");
|
||||
if (hcd->speed == HCD_USB3)
|
||||
dum_hcd->port_status &= ~USB_SS_PORT_STAT_POWER;
|
||||
else
|
||||
dum_hcd->port_status &= ~USB_PORT_STAT_POWER;
|
||||
set_link_state(dum_hcd);
|
||||
break;
|
||||
default:
|
||||
dum_hcd->port_status &= ~(1 << wValue);
|
||||
set_link_state(dum_hcd);
|
||||
|
@ -2242,14 +2239,13 @@ static int dummy_hub_control(
|
|||
if ((dum_hcd->port_status &
|
||||
USB_SS_PORT_STAT_POWER) != 0) {
|
||||
dum_hcd->port_status |= (1 << wValue);
|
||||
set_link_state(dum_hcd);
|
||||
}
|
||||
} else
|
||||
if ((dum_hcd->port_status &
|
||||
USB_PORT_STAT_POWER) != 0) {
|
||||
dum_hcd->port_status |= (1 << wValue);
|
||||
set_link_state(dum_hcd);
|
||||
}
|
||||
set_link_state(dum_hcd);
|
||||
}
|
||||
break;
|
||||
case GetPortErrorCount:
|
||||
|
|
Loading…
Reference in New Issue