aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb/musb_regs.h
diff options
context:
space:
mode:
authorAjay Kumar Gupta <ajay.gupta@ti.com>2009-07-27 14:32:15 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2009-07-28 14:31:11 -0700
commit2bbff7b742d55b094ed1467702efe146cd60c64f (patch)
treeae65f3589a29f4922b63383c5daf5a55753abf24 /drivers/usb/musb/musb_regs.h
parent3a9f5bd82dc986d496d8484ff54b107b4515f43f (diff)
downloadkernel_samsung_smdk4412-2bbff7b742d55b094ed1467702efe146cd60c64f.zip
kernel_samsung_smdk4412-2bbff7b742d55b094ed1467702efe146cd60c64f.tar.gz
kernel_samsung_smdk4412-2bbff7b742d55b094ed1467702efe146cd60c64f.tar.bz2
USB: musb: fix CONFIGDATA register read issue
INDEX register has to be set to '0' before reading CONFIGDATA register which is only present in TI musb platforms. Currently the default register access mode is set to FLAT_MODE thus INDEX register is not getting set properly with musb_ep_select() which is just a nop operation in FLAT_MODE.This invalid register read is causing module reinset failure. Fixing the issue by moving INDEX register write part to musb_read_configdata() function itself. Signed-off-by: Vikram Pandita <vikram.pandita@ti.com> Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Acked-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/musb/musb_regs.h')
-rw-r--r--drivers/usb/musb/musb_regs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_regs.h b/drivers/usb/musb/musb_regs.h
index de3b2f1..fbfd3fd 100644
--- a/drivers/usb/musb/musb_regs.h
+++ b/drivers/usb/musb/musb_regs.h
@@ -323,6 +323,7 @@ static inline void musb_write_rxfifoadd(void __iomem *mbase, u16 c_off)
static inline u8 musb_read_configdata(void __iomem *mbase)
{
+ musb_writeb(mbase, MUSB_INDEX, 0);
return musb_readb(mbase, 0x10 + MUSB_CONFIGDATA);
}