mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Will Newton <will.newton@imgtec.com>
To: linux-kernel@vger.kernel.org
Cc: linux-usb@vger.kernel.org, leoli@freescale.com,
	tanya.jiang@freescale.com, gregkh@suse.de,
	Will Newton <will.newton@gmail.com>
Subject: [PATCH 10/11] fsl_usb2_udc: Add a wmb before priming endpoint.
Date: Tue, 15 Jul 2008 16:24:49 +0100	[thread overview]
Message-ID: <1216135490-21656-11-git-send-email-will.newton@imgtec.com> (raw)
In-Reply-To: <1216135490-21656-10-git-send-email-will.newton@imgtec.com>

From: Will Newton <will.newton@gmail.com>

Add a wmb to fsl_queue_td before priming the endpoint. This ensures that the
modifications to the QH are seen by the hardware.

Added comment as suggested by Felipe Balbi.

Signed-off-by: Will Newton <will.newton@gmail.com>
---
 drivers/usb/gadget/fsl_usb2_udc.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/gadget/fsl_usb2_udc.c b/drivers/usb/gadget/fsl_usb2_udc.c
index 81cba99..15b7cea 100644
--- a/drivers/usb/gadget/fsl_usb2_udc.c
+++ b/drivers/usb/gadget/fsl_usb2_udc.c
@@ -643,6 +643,9 @@ static void fsl_queue_td(struct fsl_ep *ep, struct fsl_req *req)
 			| EP_QUEUE_HEAD_STATUS_HALT));
 	dQH->size_ioc_int_sts &= temp;
 
+	/* Ensure that updates to the QH will occure before priming. */
+	wmb();
+
 	/* Prime endpoint by writing 1 to ENDPTPRIME */
 	temp = ep_is_in(ep)
 		? (1 << (ep_index(ep) + 16))
-- 
1.5.5.2


  reply	other threads:[~2008-07-15 15:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-15 15:24 [PATCH 00/11] fsl_usb2_udc: A number of bug fixes and cleanups Will Newton
2008-07-15 15:24 ` [PATCH 01/11] fsl_usb2_udc: Make dr_ep_setup function static Will Newton
2008-07-15 15:24   ` [PATCH 02/11] fsl_usb2_udc: Remove check for udc == NULL in dr_controller_setup Will Newton
2008-07-15 15:24     ` [PATCH 03/11] fsl_usb2_udc: Fix some sparse warnings and remove redundant code Will Newton
2008-07-15 15:24       ` [PATCH 04/11] fsl_usb2_udc: Clean up whitespace in errors and warnings Will Newton
2008-07-15 15:24         ` [PATCH 05/11] fsl_usb2_udc: Clean up whitespace in /proc debugging output Will Newton
2008-07-15 15:24           ` [PATCH 06/11] fsl_usb2_udc: Initialize spinlock earlier Will Newton
2008-07-15 15:24             ` [PATCH 07/11] fsl_usb2_udc: Rename the arguments of the fsl_writel macro Will Newton
2008-07-15 15:24               ` [PATCH 08/11] fsl_usb2_udc: Uninline udc_reset_ep_queue Will Newton
2008-07-15 15:24                 ` [PATCH 09/11] fsl_usb2_udc: Make fsl_queue_td return type void Will Newton
2008-07-15 15:24                   ` Will Newton [this message]
2008-07-15 15:24                     ` [PATCH 11/11] fsl_usb2_udc: Fix oops on probe failure Will Newton
2008-07-17  9:43 ` [PATCH 00/11] fsl_usb2_udc: A number of bug fixes and cleanups Li Yang
2008-07-17  9:47   ` Will Newton
2008-08-08 10:13   ` Will Newton
2008-08-12 11:27     ` Li Yang
2008-08-12 14:39 Will Newton
2008-08-12 14:39 ` [PATCH 01/11] fsl_usb2_udc: Make dr_ep_setup function static Will Newton
2008-08-12 14:39   ` [PATCH 02/11] fsl_usb2_udc: Remove check for udc == NULL in dr_controller_setup Will Newton
2008-08-12 14:39     ` [PATCH 03/11] fsl_usb2_udc: Fix some sparse warnings and remove redundant code Will Newton
2008-08-12 14:39       ` [PATCH 04/11] fsl_usb2_udc: Clean up whitespace in errors and warnings Will Newton
2008-08-12 14:39         ` [PATCH 05/11] fsl_usb2_udc: Clean up whitespace in /proc debugging output Will Newton
2008-08-12 14:39           ` [PATCH 06/11] fsl_usb2_udc: Initialize spinlock earlier Will Newton
2008-08-12 14:39             ` [PATCH 07/11] fsl_usb2_udc: Rename the arguments of the fsl_writel macro Will Newton
2008-08-12 14:39               ` [PATCH 08/11] fsl_usb2_udc: Uninline udc_reset_ep_queue Will Newton
2008-08-12 14:39                 ` [PATCH 09/11] fsl_usb2_udc: Make fsl_queue_td return type void Will Newton
2008-08-12 14:39                   ` [PATCH 10/11] fsl_usb2_udc: Add a wmb before priming endpoint Will Newton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1216135490-21656-11-git-send-email-will.newton@imgtec.com \
    --to=will.newton@imgtec.com \
    --cc=gregkh@suse.de \
    --cc=leoli@freescale.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=tanya.jiang@freescale.com \
    --cc=will.newton@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®