[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20081225141509.GD6786@oksana.dev.rtsoft.ru>
Date: Thu, 25 Dec 2008 17:15:09 +0300
From: Anton Vorontsov <avorontsov@...mvista.com>
To: Greg Kroah-Hartman <greg@...ah.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Alan Stern <stern@...land.harvard.edu>,
David Brownell <dbrownell@...rs.sourceforge.net>,
Timur Tabi <timur@...escale.com>,
Li Yang <leoli@...escale.com>, linux-usb@...r.kernel.org,
linuxppc-dev@...abs.org, linux-kernel@...r.kernel.org
Subject: [PATCH 4/6] USB: fsl_qe_udc: Fix disconnects reporting during bus
reset
Freescale QE UDC controllers can't report the "port change" states,
so the only way to handle disconnects is to process bus reset
interrupts. The bus reset can take some time, that is, few irqs.
Gadgets may print the disconnection events, and this causes few
repetitive messages in the kernel log.
This patch fixes the issue by using the usb_state machine, if the
usb controller has been already reset, just quit the reset irq
early.
Signed-off-by: Anton Vorontsov <avorontsov@...mvista.com>
Acked-by: David Brownell <dbrownell@...rs.sourceforge.net>
---
drivers/usb/gadget/fsl_qe_udc.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c
index b460c6d..4726582 100644
--- a/drivers/usb/gadget/fsl_qe_udc.c
+++ b/drivers/usb/gadget/fsl_qe_udc.c
@@ -2161,6 +2161,9 @@ static int reset_irq(struct qe_udc *udc)
{
unsigned char i;
+ if (udc->usb_state == USB_STATE_DEFAULT)
+ return 0;
+
qe_usb_disable();
out_8(&udc->usb_regs->usb_usadr, 0);
--
1.5.6.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists