summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch19
1 files changed, 14 insertions, 5 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch b/target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch
index 97b78ab3eb..835ea17335 100644
--- a/target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch
+++ b/target/linux/brcm2708/patches-3.10/0083-dwc_otg-prevent-BUG-in-TT-allocation-if-hub-address-.patch
@@ -1,7 +1,7 @@
-From 3c3c5a15a17649092ecf4c128478b267676c3353 Mon Sep 17 00:00:00 2001
+From 14d8b16453f653003fd7d124f221082c53d56cf2 Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Mon, 22 Jul 2013 14:08:26 +0100
-Subject: [PATCH 083/174] dwc_otg: prevent BUG() in TT allocation if hub
+Subject: [PATCH 083/196] dwc_otg: prevent BUG() in TT allocation if hub
address is > 16
A fixed-size array is used to track TT allocation. This was
@@ -20,9 +20,11 @@ for debug only for tracking which frame an allocate happened in.
drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 3 ++-
3 files changed, 12 insertions(+), 4 deletions(-)
+diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+index a1970dc..3c619b4 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c
-@@ -983,7 +983,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd
+@@ -983,7 +983,9 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if)
hcd->periodic_qh_count = 0;
DWC_MEMSET(hcd->hub_port, 0, sizeof(hcd->hub_port));
@@ -32,7 +34,7 @@ for debug only for tracking which frame an allocate happened in.
out:
return retval;
-@@ -1317,7 +1319,9 @@ int dwc_otg_hcd_allocate_port(dwc_otg_hc
+@@ -1317,7 +1319,9 @@ int dwc_otg_hcd_allocate_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh)
qh->skip_count = 0;
hcd->hub_port[hub_addr] |= 1 << port_addr;
fiq_print(FIQDBG_PORTHUB, "H%dP%d:A %d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num);
@@ -42,7 +44,7 @@ for debug only for tracking which frame an allocate happened in.
return 0;
}
}
-@@ -1331,8 +1335,9 @@ void dwc_otg_hcd_release_port(dwc_otg_hc
+@@ -1331,8 +1335,9 @@ void dwc_otg_hcd_release_port(dwc_otg_hcd_t * hcd, dwc_otg_qh_t *qh)
hcd->fops->hub_info(hcd, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->priv, &hub_addr, &port_addr);
hcd->hub_port[hub_addr] &= ~(1 << port_addr);
@@ -53,6 +55,8 @@ for debug only for tracking which frame an allocate happened in.
fiq_print(FIQDBG_PORTHUB, "H%dP%d:RO%d", hub_addr, port_addr, DWC_CIRCLEQ_FIRST(&qh->qtd_list)->urb->pipe_info.ep_num);
}
+diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
+index d3d6e997..80a3af2 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h
@@ -577,8 +577,10 @@ struct dwc_otg_hcd {
@@ -68,6 +72,8 @@ for debug only for tracking which frame an allocate happened in.
/** Frame List DMA address */
dma_addr_t frame_list_dma;
+diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+index 765451b..dbff763 100644
--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c
@@ -1419,8 +1419,9 @@ cleanup:
@@ -81,3 +87,6 @@ for debug only for tracking which frame an allocate happened in.
fiq_print(FIQDBG_PORTHUB, "H%dP%d:RR%d", hc->hub_addr, hc->port_addr, endp);
}
+--
+1.9.1
+