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>
diff --git a/drivers/usb/musb/musb_hcd.c b/drivers/usb/musb/musb_hcd.c
index f14e12f..af989aa 100644
--- a/drivers/usb/musb/musb_hcd.c
+++ b/drivers/usb/musb/musb_hcd.c
@@ -917,6 +917,13 @@
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;
}