arm: rpi: perform XHCI firmware upload only once
authorMarek Szyprowski <m.szyprowski@samsung.com>
Thu, 10 Sep 2020 08:31:09 +0000 (10:31 +0200)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 15 Nov 2021 10:37:12 +0000 (11:37 +0100)
XHCI firmware upload must be performed only once after initializing the
PCI bridge. This fixes USB stack initialization after calling "usb stop;
usb start" on Raspberry Pi 4B.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I05e40e3f7e3701da06d0e3c334fb9862409a3f9a

arch/arm/mach-bcm283x/msg.c

index 347aece3cd8d996827f8527cc98ad6aa5ab7467c..345f7fe2b77f0c9f1723514b25fd7f6158ccb1fc 100644 (file)
@@ -170,6 +170,12 @@ int bcm2711_notify_vl805_reset(void)
        ALLOC_CACHE_ALIGN_BUFFER(struct msg_notify_vl805_reset,
                                 msg_notify_vl805_reset, 1);
        int ret;
+       static int done = false;
+
+       if (done)
+               return 0;
+
+       done = true;
 
        BCM2835_MBOX_INIT_HDR(msg_notify_vl805_reset);
        BCM2835_MBOX_INIT_TAG(&msg_notify_vl805_reset->dev_addr,