Skip to contentSkip to conversation

usb: uhci-hcd: fix uhci_alloc_int_td()

PATCH In review Peter Mamonov 2 participants 4 messages Mar 22, 2017 – Apr 6, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 usb: uhci-hcd: fix uhci_alloc_int_td()

---
 drivers/usb/host/uhci-hcd.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/usb/host/uhci-hcd.c +5 -1
index 9ad4644e8..04d167ee3 100644
@@ -554,8 +554,12 @@ static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,
  */
 static struct uhci_td *uhci_alloc_int_td(struct uhci_priv *uhci)
 {
-	return &uhci->tmp_int_td[0];
+	int i;
 
+	for (i = 0; i < USB_MAX_TEMP_INT_TD; i++)
+		if (uhci->tmp_int_td[i].dev_ptr == 0)
+			return &uhci->tmp_int_td[i];
+	return NULL;
 }
 
 /*
Signature · 7 lines
2.11.0


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#1 lore raw

Hi Peter,

Quoted 10 lines · Peter Mamonov
---
 drivers/usb/host/uhci-hcd.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/usb/host/uhci-hcd.c +0 -0
index 9ad4644e8..04d167ee3 100644

drivers/usb/host/uhci-hcd.c static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, · line 562

Quoted 10 lines
drivers/usb/host/uhci-hcd.c +5 -1
@@ -554,8 +554,12 @@ static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,
  */
 static struct uhci_td *uhci_alloc_int_td(struct uhci_priv *uhci)
 {
-	return &uhci->tmp_int_td[0];
+	int i;
 
+	for (i = 0; i < USB_MAX_TEMP_INT_TD; i++)
+		if (uhci->tmp_int_td[i].dev_ptr == 0)
+			return &uhci->tmp_int_td[i];
+	return NULL;

You have to upstream the uhci driver first before I can apply fixes for it ;)

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
#2 lore raw

Hi Sasha,

Quoted 19 lines · Sascha Hauer

Hi Peter,

Quoted 16 lines · Peter Mamonov
---
 drivers/usb/host/uhci-hcd.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/usb/host/uhci-hcd.c +1 -1
index 9ad4644e8..04d167ee3 100644
@@ -554,8 +554,12 @@ static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,
  */
 static struct uhci_td *uhci_alloc_int_td(struct uhci_priv *uhci)
 {
-	return &uhci->tmp_int_td[0];
+	int i;
 
Quoted 7 lines

drivers/usb/host/uhci-hcd.c static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, · line 562

Quoted 4 lines
drivers/usb/host/uhci-hcd.c +4 -0
+	for (i = 0; i < USB_MAX_TEMP_INT_TD; i++)
+		if (uhci->tmp_int_td[i].dev_ptr == 0)
+			return &uhci->tmp_int_td[i];
+	return NULL;

You have to upstream the uhci driver first before I can apply fixes for it ;)

Right =)

I've just realized it was not accepted... for a good reason:
http://lists.infradead.org/pipermail/barebox/2016-January/026016.html

Regards,
Peter

Quoted 8 lines

Sascha

Signature · 4 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

#3 lore raw
Quoted 30 lines · Peter Mamonov

Hi Sasha,

Quoted 19 lines · Sascha Hauer

Hi Peter,

Quoted 16 lines · Peter Mamonov
---
 drivers/usb/host/uhci-hcd.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/usb/host/uhci-hcd.c +1 -1
index 9ad4644e8..04d167ee3 100644
@@ -554,8 +554,12 @@ static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe,
  */
 static struct uhci_td *uhci_alloc_int_td(struct uhci_priv *uhci)
 {
-	return &uhci->tmp_int_td[0];
+	int i;
 
Quoted 7 lines

drivers/usb/host/uhci-hcd.c static int submit_bulk_msg(struct usb_device *dev, unsigned long pipe, · line 562

Quoted 4 lines
drivers/usb/host/uhci-hcd.c +4 -0
+	for (i = 0; i < USB_MAX_TEMP_INT_TD; i++)
+		if (uhci->tmp_int_td[i].dev_ptr == 0)
+			return &uhci->tmp_int_td[i];
+	return NULL;

You have to upstream the uhci driver first before I can apply fixes for it ;)

Quoted 4 lines

Right =)

I've just realized it was not accepted... for a good reason:
http://lists.infradead.org/pipermail/barebox/2016-January/026016.html

Well the driver doesn't look bad from a first glance. You could repost it with your fixup applied and see what the maintainer says ;)

Sascha

Signature · 9 lines
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox