summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorBryan Wu <bryan.wu@analog.com>2010-08-09 18:41:12 -0400
committerRemy Bohmer <linux@bohmer.net>2010-09-11 09:49:22 +0200
commit93ceb4790d8daea992cdebf2c75434d73df9c028 (patch)
tree756354ef346bd8939f675f41e16d1193d7ab9509 /drivers/usb
parent8dd7a23007ff73dae176aa4628f5c2142d6087dc (diff)
usb: musb: set target address for non-multipoint devices
Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/musb/musb_hcd.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/musb/musb_hcd.c b/drivers/usb/musb/musb_hcd.c
index f14e12ffaf6..af989aa78d2 100644
--- a/drivers/usb/musb/musb_hcd.c
+++ b/drivers/usb/musb/musb_hcd.c
@@ -917,6 +917,13 @@ int submit_control_msg(struct usb_device *dev, unsigned long pipe, void *buffer,
dev->status = 0;
dev->act_len = len;
+
+#ifdef MUSB_NO_MULTIPOINT
+ /* Set device address to USB_FADDR register */
+ if (setup->request == USB_REQ_SET_ADDRESS)
+ writeb(dev->devnum, &musbr->faddr);
+#endif
+
return len;
}