]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
m68k/mac: Don't hang waiting for Cuda power-down command
authorFinn Thain <fthain@telegraphics.com.au>
Sat, 12 Aug 2017 07:11:02 +0000 (17:11 +1000)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 21 Aug 2017 09:52:55 +0000 (11:52 +0200)
Testing shows that the CUDA_POWERDOWN command never completes (for a
Centris 660av or LC 475, at least). So, don't wait for command completion
on those Cuda-based models that do not support soft power. Just proceed to
log the usual message, "It is now safe to turn off your Macintosh."

Reported-by: Stan Johnson <userm57@yahoo.com>
Tested-by: Stan Johnson <userm57@yahoo.com>
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/mac/misc.c

index 8aa8792e3174c488bc413421efa87449b44635a0..944795fd2c7a1d47dd39fc29659461dd99072453 100644 (file)
@@ -357,6 +357,17 @@ static void cuda_shutdown(void)
        struct adb_request req;
        if (cuda_request(&req, NULL, 2, CUDA_PACKET, CUDA_POWERDOWN) < 0)
                return;
+
+       /* Avoid infinite polling loop when PSU is not under Cuda control */
+       switch (macintosh_config->ident) {
+       case MAC_MODEL_C660:
+       case MAC_MODEL_Q605:
+       case MAC_MODEL_Q605_ACC:
+       case MAC_MODEL_P475:
+       case MAC_MODEL_P475F:
+               return;
+       }
+
        while (!req.complete)
                cuda_poll();
 }