macintosh/via-macii: Synchronous bus reset
authorFinn Thain <fthain@telegraphics.com.au>
Wed, 12 Sep 2018 00:18:44 +0000 (20:18 -0400)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 8 Oct 2018 11:53:10 +0000 (22:53 +1100)
Make the reset operation synchronous, like the other ADB drivers.
The reset request is static data but callers may not know that.
This way the struct is not in use when the reset method returns.

Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/macintosh/via-macii.c

index cf6f7d5..36a4f49 100644 (file)
@@ -331,7 +331,8 @@ static int macii_reset_bus(void)
                return 0;
 
        /* Command = 0, Address = ignored */
-       adb_request(&req, NULL, 0, 1, ADB_BUSRESET);
+       adb_request(&req, NULL, ADBREQ_NOSEND, 1, ADB_BUSRESET);
+       macii_send_request(&req, 1);
 
        /* Don't want any more requests during the Global Reset low time. */
        udelay(3000);