From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Pali=20Roh=C3=A1r?= Date: Sat, 26 Dec 2020 19:28:51 +0100 Subject: [PATCH 4/4] usb: musb: Ensure that we set musb dynamic FIFO buffer for every endpoint In-Reply-To: <20201226182851.18493-1-pali@kernel.org> References: <20201226182851.18493-1-pali@kernel.org> Message-ID: <20201226182851.18493-5-pali@kernel.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de If we do not set FIFO buffer address and size for some endpoint which is in use then default address 0x0 would be used which is in conflict with FIFO buffer for endpoint 0 which is at fixed address 0x0. Sharing address space between more endpoint cause data loss and unexpected errors. This patch is fixing transmission of characters over usbtty serial console and allow using of usbtty for debugging purposes on Nokia N900. Signed-off-by: Pali Roh?r --- drivers/usb/musb/musb_udc.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/usb/musb/musb_udc.c b/drivers/usb/musb/musb_udc.c index 50d8bc319c..ea1284850e 100644 --- a/drivers/usb/musb/musb_udc.c +++ b/drivers/usb/musb/musb_udc.c @@ -875,18 +875,8 @@ void udc_setup_ep(struct usb_device_instance *device, unsigned int id, ep0_endpoint->endpoint_address = 0xff; ep0_urb = usbd_alloc_urb(device, endpoint); } else if (MAX_ENDPOINT >= id) { - int ep_addr; - - /* Check the direction */ - ep_addr = endpoint->endpoint_address; - if (USB_DIR_IN == (ep_addr & USB_ENDPOINT_DIR_MASK)) { - /* IN */ - epinfo[(id * 2) + 1].epsize = endpoint->tx_packetSize; - } else { - /* OUT */ - epinfo[id * 2].epsize = endpoint->rcv_packetSize; - } - + epinfo[(id * 2) + 0].epsize = endpoint->rcv_packetSize; + epinfo[(id * 2) + 1].epsize = endpoint->tx_packetSize; musb_configure_ep(&epinfo[0], ARRAY_SIZE(epinfo)); } else { if (debug_level > 0) -- 2.20.1