usb: dwc2: remove control_data_toggle[]
The control data toggle resets to DATA1 at the start of the data phase
of every setup transaction. We don't need a global variable to store
the value; we can just store it on the stack.
Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index 189f654..e8a7e71 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -27,7 +27,6 @@
#define MAX_DEVICE 16
#define MAX_ENDPOINT 16
static int bulk_data_toggle[MAX_DEVICE][MAX_ENDPOINT];
-static int control_data_toggle[MAX_DEVICE][MAX_ENDPOINT];
static int root_hub_devnum;
@@ -853,7 +852,6 @@
int len, struct devrequest *setup)
{
int devnum = usb_pipedevice(pipe);
- int ep = usb_pipeendpoint(pipe);
int pid, ret, act_len;
/* For CONTROL endpoint pid should start with DATA1 */
int status_direction;
@@ -870,9 +868,9 @@
return ret;
if (buffer) {
- control_data_toggle[devnum][ep] = DWC2_HC_PID_DATA1;
- ret = chunk_msg(dev, pipe, &control_data_toggle[devnum][ep],
- usb_pipein(pipe), buffer, len);
+ pid = DWC2_HC_PID_DATA1;
+ ret = chunk_msg(dev, pipe, &pid, usb_pipein(pipe), buffer,
+ len);
if (ret)
return ret;
act_len = dev->act_len;
@@ -933,10 +931,8 @@
DWC2_HPRT0_PRTRST);
for (i = 0; i < MAX_DEVICE; i++) {
- for (j = 0; j < MAX_ENDPOINT; j++) {
- control_data_toggle[i][j] = DWC2_HC_PID_DATA1;
+ for (j = 0; j < MAX_ENDPOINT; j++)
bulk_data_toggle[i][j] = DWC2_HC_PID_DATA0;
- }
}
return 0;