At a lot of places in the code the PIPE_INTERRUPT flags and friends
are used wrong. The wrong bits are compared to this flag resulting
in wrong conditions. Also there are macros that should be used for
PIPE_* flags.
This patch tries to fix them all, however, I was not able to test the
changes, because I do not have any of these boards.

Review required!

Signed-off-by: Remy Bohmer <[EMAIL PROTECTED]>
---
 board/MAI/AmigaOneG3SE/usb_uhci.c |    2 +-
 board/mpl/common/usb_uhci.c       |    2 +-
 cpu/arm920t/s3c24x0/usb_ohci.c    |    8 ++++----
 cpu/leon3/usb_uhci.c              |    2 +-
 cpu/mips/au1x00_usb_ohci.c        |    9 +++++----
 cpu/mpc5xxx/usb_ohci.c            |    8 ++++----
 cpu/ppc4xx/usb_ohci.c             |    8 ++++----
 drivers/usb/isp116x-hcd.c         |    4 ++--
 drivers/usb/r8a66597-hcd.c        |    2 +-
 9 files changed, 23 insertions(+), 22 deletions(-)

Index: u-boot-git-22092008/board/mpl/common/usb_uhci.c
===================================================================
--- u-boot-git-22092008.orig/board/mpl/common/usb_uhci.c        2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/board/mpl/common/usb_uhci.c     2008-10-07 
14:28:06.000000000 +0200
@@ -792,7 +792,7 @@ int uhci_submit_rh_msg(struct usb_device
        unsigned short wIndex;
        unsigned short wLength;
 
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                printf("Root-Hub submit IRQ: NOT implemented\n");
 #if 0
                uhci->rh.urb = urb;
Index: u-boot-git-22092008/cpu/arm920t/s3c24x0/usb_ohci.c
===================================================================
--- u-boot-git-22092008.orig/cpu/arm920t/s3c24x0/usb_ohci.c     2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/cpu/arm920t/s3c24x0/usb_ohci.c  2008-10-07 
14:28:06.000000000 +0200
@@ -654,7 +654,7 @@ static void td_fill (ohci_t *ohci, unsig
        td->index = index;
        td->data = (__u32)data;
 #ifdef OHCI_FILL_TRACE
-       if ((usb_pipetype(urb_priv->pipe) == PIPE_BULK) && 
usb_pipeout(urb_priv->pipe)) {
+       if (usb_pipebulk(urb_priv->pipe) && usb_pipeout(urb_priv->pipe)) {
                for (i = 0; i < len; i++)
                printf("td->data[%d] %#2x ",i, ((unsigned char *)td->data)[i]);
                printf("\n");
@@ -756,7 +756,7 @@ static void dl_transfer_length(td_t * td
        tdCBP  = m32_swap (td->hwCBP);
 
 
-       if (!(usb_pipetype (lurb_priv->pipe) == PIPE_CONTROL &&
+       if (!(usb_pipecontrol(lurb_priv->pipe) &&
            ((td->index == 0) || (td->index == lurb_priv->length - 1)))) {
                if (tdBE != 0) {
                        if (td->hwCBP == 0)
@@ -1025,7 +1025,7 @@ pkt_print(dev, pipe, buffer, transfer_le
 #else
        wait_ms(1);
 #endif
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                info("Root-Hub submit IRQ: NOT implemented");
                return 0;
        }
@@ -1259,7 +1259,7 @@ int submit_common_msg(struct usb_device 
 
        /* allow more time for a BULK device to react - some are slow */
 #define BULK_TO         5000   /* timeout in milliseconds */
-       if (usb_pipetype (pipe) == PIPE_BULK)
+       if (usb_pipebulk(pipe))
                timeout = BULK_TO;
        else
                timeout = 100;
Index: u-boot-git-22092008/cpu/leon3/usb_uhci.c
===================================================================
--- u-boot-git-22092008.orig/cpu/leon3/usb_uhci.c       2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/cpu/leon3/usb_uhci.c    2008-10-07 14:28:06.000000000 
+0200
@@ -901,7 +901,7 @@ int uhci_submit_rh_msg(struct usb_device
        unsigned short wIndex;
        unsigned short wLength;
 
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                printf("Root-Hub submit IRQ: NOT implemented\n");
                return 0;
        }
Index: u-boot-git-22092008/cpu/mips/au1x00_usb_ohci.c
===================================================================
--- u-boot-git-22092008.orig/cpu/mips/au1x00_usb_ohci.c 2008-10-07 
14:27:58.000000000 +0200
+++ u-boot-git-22092008/cpu/mips/au1x00_usb_ohci.c      2008-10-07 
14:28:26.000000000 +0200
@@ -654,7 +654,8 @@ static void td_fill (ohci_t *ohci, unsig
        td->index = index;
        td->data = (__u32)data;
 #ifdef OHCI_FILL_TRACE
-       if (1 || ((usb_pipetype(urb_priv->pipe) == PIPE_BULK) && 
usb_pipeout(urb_priv->pipe))) {
+       if (1 || (usb_pipebulk(urb_priv->pipe) &&
+                               usb_pipeout(urb_priv->pipe))) {
                for (i = 0; i < len; i++)
                printf("td->data[%d] %#2x\n",i, ((unsigned char 
*)(td->data+0x80000000))[i]);
        }
@@ -758,7 +759,7 @@ static void dl_transfer_length(td_t * td
        tdCBP  = m32_swap (td->hwCBP);
 
 
-       if (!(usb_pipetype (lurb_priv->pipe) == PIPE_CONTROL &&
+       if (!(usb_pipecontrol(lurb_priv->pipe) &&
            ((td->index == 0) || (td->index == lurb_priv->length - 1)))) {
                if (tdBE != 0) {
                        if (td->hwCBP == 0)
@@ -1015,7 +1016,7 @@ pkt_print(dev, pipe, buffer, transfer_le
 #else
        wait_ms(1);
 #endif
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                info("Root-Hub submit IRQ: NOT implemented");
                return 0;
        }
@@ -1249,7 +1250,7 @@ int submit_common_msg(struct usb_device 
 
        /* allow more time for a BULK device to react - some are slow */
 #define BULK_TO         5000   /* timeout in milliseconds */
-       if (usb_pipetype (pipe) == PIPE_BULK)
+       if (usb_pipebulk(pipe))
                timeout = BULK_TO;
        else
                timeout = 100;
Index: u-boot-git-22092008/cpu/mpc5xxx/usb_ohci.c
===================================================================
--- u-boot-git-22092008.orig/cpu/mpc5xxx/usb_ohci.c     2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/cpu/mpc5xxx/usb_ohci.c  2008-10-07 14:28:06.000000000 
+0200
@@ -660,7 +660,7 @@ static void td_fill (ohci_t *ohci, unsig
        td->index = index;
        td->data = (__u32)data;
 #ifdef OHCI_FILL_TRACE
-       if ((usb_pipetype(urb_priv->pipe) == PIPE_BULK) && 
usb_pipeout(urb_priv->pipe)) {
+       if (usb_pipebulk(urb_priv->pipe) && usb_pipeout(urb_priv->pipe)) {
                for (i = 0; i < len; i++)
                printf("td->data[%d] %#2x ",i, ((unsigned char *)td->data)[i]);
                printf("\n");
@@ -761,7 +761,7 @@ static void dl_transfer_length(td_t * td
        tdCBP  = ohci_cpu_to_le32 (td->hwCBP);
 
 
-       if (!(usb_pipetype (lurb_priv->pipe) == PIPE_CONTROL &&
+       if (!(usb_pipecontrol(lurb_priv->pipe) &&
            ((td->index == 0) || (td->index == lurb_priv->length - 1)))) {
                if (tdBE != 0) {
                        if (td->hwCBP == 0)
@@ -1023,7 +1023,7 @@ static int ohci_submit_rh_msg(struct usb
 urb_priv.actual_length = 0;
 pkt_print(dev, pipe, buffer, transfer_len, cmd, "SUB(rh)", usb_pipein(pipe));
 #endif
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                info("Root-Hub submit IRQ: NOT implemented");
                return 0;
        }
@@ -1248,7 +1248,7 @@ int submit_common_msg(struct usb_device 
 
        /* allow more time for a BULK device to react - some are slow */
 #define BULK_TO         5000   /* timeout in milliseconds */
-       if (usb_pipetype (pipe) == PIPE_BULK)
+       if (usb_pipebulk(pipe))
                timeout = BULK_TO;
        else
                timeout = 100;
Index: u-boot-git-22092008/drivers/usb/isp116x-hcd.c
===================================================================
--- u-boot-git-22092008.orig/drivers/usb/isp116x-hcd.c  2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/drivers/usb/isp116x-hcd.c       2008-10-07 
14:28:06.000000000 +0200
@@ -687,7 +687,7 @@ retry_same:
        /* Start the data transfer */
 
        /* Allow more time for a BULK device to react - some are slow */
-       if (usb_pipetype(pipe) == PIPE_BULK)
+       if (usb_pipebulk(pipe))
                timeout = 5000;
        else
                timeout = 100;
@@ -822,7 +822,7 @@ static int isp116x_submit_rh_msg(struct 
        u16 wIndex;
        u16 wLength;
 
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                INFO("Root-Hub submit IRQ: NOT implemented");
                return 0;
        }
Index: u-boot-git-22092008/drivers/usb/r8a66597-hcd.c
===================================================================
--- u-boot-git-22092008.orig/drivers/usb/r8a66597-hcd.c 2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/drivers/usb/r8a66597-hcd.c      2008-10-07 
14:28:06.000000000 +0200
@@ -654,7 +654,7 @@ static int r8a66597_submit_rh_msg(struct
 
        R8A66597_DPRINT("%s\n", __func__);
 
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                printf("Root-Hub submit IRQ: NOT implemented");
                return 0;
        }
Index: u-boot-git-22092008/board/MAI/AmigaOneG3SE/usb_uhci.c
===================================================================
--- u-boot-git-22092008.orig/board/MAI/AmigaOneG3SE/usb_uhci.c  2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/board/MAI/AmigaOneG3SE/usb_uhci.c       2008-10-07 
14:28:06.000000000 +0200
@@ -801,7 +801,7 @@ int uhci_submit_rh_msg(struct usb_device
        unsigned short wIndex;
        unsigned short wLength;
 
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                printf("Root-Hub submit IRQ: NOT implemented\n");
 #if 0
                uhci->rh.urb = urb;
Index: u-boot-git-22092008/cpu/ppc4xx/usb_ohci.c
===================================================================
--- u-boot-git-22092008.orig/cpu/ppc4xx/usb_ohci.c      2008-10-07 
14:16:58.000000000 +0200
+++ u-boot-git-22092008/cpu/ppc4xx/usb_ohci.c   2008-10-07 14:28:06.000000000 
+0200
@@ -660,7 +660,7 @@ static void td_fill (ohci_t *ohci, unsig
        td->index = index;
        td->data = (__u32)data;
 #ifdef OHCI_FILL_TRACE
-       if ((usb_pipetype(urb_priv->pipe) == PIPE_BULK) && 
usb_pipeout(urb_priv->pipe)) {
+       if (usb_pipebulk(urb_priv->pipe) && usb_pipeout(urb_priv->pipe)) {
                for (i = 0; i < len; i++)
                printf("td->data[%d] %#2x ",i, ((unsigned char *)td->data)[i]);
                printf("\n");
@@ -761,7 +761,7 @@ static void dl_transfer_length(td_t * td
        tdCBP  = ohci_cpu_to_le32 (td->hwCBP);
 
 
-       if (!(usb_pipetype (lurb_priv->pipe) == PIPE_CONTROL &&
+       if (!(usb_pipecontrol(lurb_priv->pipe) &&
            ((td->index == 0) || (td->index == lurb_priv->length - 1)))) {
                if (tdBE != 0) {
                        if (td->hwCBP == 0)
@@ -1023,7 +1023,7 @@ static int ohci_submit_rh_msg(struct usb
 urb_priv.actual_length = 0;
 pkt_print(dev, pipe, buffer, transfer_len, cmd, "SUB(rh)", usb_pipein(pipe));
 #endif
-       if ((pipe & PIPE_INTERRUPT) == PIPE_INTERRUPT) {
+       if (usb_pipeint(pipe)) {
                info("Root-Hub submit IRQ: NOT implemented");
                return 0;
        }
@@ -1248,7 +1248,7 @@ int submit_common_msg(struct usb_device 
 
        /* allow more time for a BULK device to react - some are slow */
 #define BULK_TO         5000   /* timeout in milliseconds */
-       if (usb_pipetype (pipe) == PIPE_BULK)
+       if (usb_pipebulk(pipe))
                timeout = BULK_TO;
        else
                timeout = 100;

-- 


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to