From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Sun, 14 Apr 2013 21:22:43 +0200 Subject: [U-Boot] [PATCH v3 4/8] arm: bootm: call udc_disable() before booting linux In-Reply-To: <1365793160-18247-5-git-send-email-mikedunn@newsguy.com> References: <1365793160-18247-1-git-send-email-mikedunn@newsguy.com> <1365793160-18247-5-git-send-email-mikedunn@newsguy.com> Message-ID: <20130414212243.1f8ae3ec@lilith> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Mike, On Fri, 12 Apr 2013 11:59:16 -0700, Mike Dunn wrote: > On the pxa270, if the udc device is not disabled before jumping to linux, the > device fails to initialize in linux because it was left in a running state, and > the linux driver assumes that it is in a disabled state. > > Signed-off-by: Mike Dunn > --- > Changelog: > v3: no change > v2: no change > > Arguably, this is a bug in the linux driver, but it seemed pretty simple and > benign to just disable it in u-boot. I'll also send a patch to upstream kernel > to fix its driver. > > arch/arm/include/asm/bootm.h | 1 + > arch/arm/lib/bootm.c | 1 + > 2 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/arch/arm/include/asm/bootm.h b/arch/arm/include/asm/bootm.h > index db2ff94..68189cc 100644 > --- a/arch/arm/include/asm/bootm.h > +++ b/arch/arm/include/asm/bootm.h > @@ -21,6 +21,7 @@ > > #ifdef CONFIG_USB_DEVICE > extern void udc_disconnect(void); > +extern void udc_disable(void); > #endif > > #endif > diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c > index f3b30c5..6daa7bf 100644 > --- a/arch/arm/lib/bootm.c > +++ b/arch/arm/lib/bootm.c > @@ -105,6 +105,7 @@ static void announce_and_cleanup(void) > > #ifdef CONFIG_USB_DEVICE > udc_disconnect(); > + udc_disable(); > #endif > cleanup_before_linux(); > } Acked-By: Albert ARIBAUD Amicalement, -- Albert.