USB: musb: fix init oops crash with static FIFO config

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, March 26, 2009 - 12:30 pm

Gitweb:     http://git.kernel.org/linus/322337168f22e8245aae7f38e84c5711cd4c1265
Commit:     322337168f22e8245aae7f38e84c5711cd4c1265
Parent:     1e0320f0d46022d12ddc84516cbdb8865e8cd744
Author:     Giuseppe GORGOGLIONE <giuseppe.gorgoglione@st.com>
AuthorDate: Tue Feb 24 15:27:34 2009 -0800
Committer:  Greg Kroah-Hartman <gregkh@suse.de>
CommitDate: Tue Mar 24 16:20:36 2009 -0700

    USB: musb: fix init oops crash with static FIFO config
    
    Correct musb_read_fifosize() and musb_configure_ep0() functions
    for the #ifndef BLACKFIN branch when the silicon uses static FIFO
    configuration.  (Most current silicon configures this controller
    to use dynamic FIFO configuration; some parts from ST don't, like
    the STM STA2062.)
    
    Signed-off-by: Giuseppe	GORGOGLIONE <giuseppe.gorgoglione@st.com>
    Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/usb/musb/musb_core.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h
index adf1806..efb39b5 100644
--- a/drivers/usb/musb/musb_core.h
+++ b/drivers/usb/musb/musb_core.h
@@ -478,10 +478,11 @@ static inline void musb_configure_ep0(struct musb *musb)
 static inline int musb_read_fifosize(struct musb *musb,
 		struct musb_hw_ep *hw_ep, u8 epnum)
 {
+	void *mbase = musb->mregs;
 	u8 reg = 0;
 
 	/* read from core using indexed model */
-	reg = musb_readb(hw_ep->regs, 0x10 + MUSB_FIFOSIZE);
+	reg = musb_readb(mbase, MUSB_EP_OFFSET(epnum, MUSB_FIFOSIZE));
 	/* 0's returned when no more endpoints */
 	if (!reg)
 		return -ENODEV;
@@ -508,6 +509,7 @@ static inline void musb_configure_ep0(struct musb *musb)
 {
 	musb->endpoints[0].max_packet_sz_tx = MUSB_EP0_FIFOSIZE;
 	musb->endpoints[0].max_packet_sz_rx = MUSB_EP0_FIFOSIZE;
+	musb->endpoints[0].is_shared_fifo = true;
 }
 #endif /* CONFIG_BLACKFIN */
 
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
USB: musb: fix init oops crash with static FIFO config, Linux Kernel Mailing ..., (Thu Mar 26, 12:30 pm)