diff --git a/Control/Concurrent/Async.hs b/Control/Concurrent/Async.hs
--- a/Control/Concurrent/Async.hs
+++ b/Control/Concurrent/Async.hs
@@ -958,10 +958,10 @@
 -- exception handler.
 {-# INLINE rawForkIO #-}
 rawForkIO :: IO () -> IO ThreadId
-rawForkIO action = IO $ \ s ->
+rawForkIO (IO action) = IO $ \ s ->
    case (fork# action s) of (# s1, tid #) -> (# s1, ThreadId tid #)
 
 {-# INLINE rawForkOn #-}
 rawForkOn :: Int -> IO () -> IO ThreadId
-rawForkOn (I# cpu) action = IO $ \ s ->
+rawForkOn (I# cpu) (IO action) = IO $ \ s ->
    case (forkOn# cpu action s) of (# s1, tid #) -> (# s1, ThreadId tid #)
diff --git a/async.cabal b/async.cabal
--- a/async.cabal
+++ b/async.cabal
@@ -1,5 +1,5 @@
 name:                async
-version:             2.2.3
+version:             2.2.4
 -- don't forget to update ./changelog.md!
 synopsis:            Run IO operations asynchronously and wait for their results
 
@@ -34,7 +34,21 @@
 cabal-version:       >=1.10
 homepage:            https://github.com/simonmar/async
 bug-reports:         https://github.com/simonmar/async/issues
-tested-with:         GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2, GHC==7.0.4
+tested-with:
+    GHC == 9.2.0.20210821
+    GHC == 9.0.1
+    GHC == 8.10.4
+    GHC == 8.8.4
+    GHC == 8.6.5
+    GHC == 8.4.4
+    GHC == 8.2.2
+    GHC == 8.0.2
+    GHC == 7.10.3
+    GHC == 7.8.4
+    GHC == 7.6.3
+    GHC == 7.4.2
+    GHC == 7.2.2
+    GHC == 7.0.4
 
 extra-source-files:
     changelog.md
@@ -50,14 +64,16 @@
     if impl(ghc>=7.1)
         other-extensions: Trustworthy
     exposed-modules:     Control.Concurrent.Async
-    build-depends:       base >= 4.3 && < 4.16, hashable >= 1.1.2.0 && < 1.4, stm >= 2.2 && < 2.6
+    build-depends:       base     >= 4.3     && < 4.17,
+                         hashable >= 1.1.2.0 && < 1.4,
+                         stm      >= 2.2     && < 2.6
 
 test-suite test-async
     default-language: Haskell2010
     type:       exitcode-stdio-1.0
     hs-source-dirs: test
     main-is:    test-async.hs
-    build-depends: base >= 4.3 && < 4.15,
+    build-depends: base >= 4.3 && < 4.17,
                    async,
                    stm,
                    test-framework,
@@ -93,5 +109,3 @@
     main-is:    race.hs
     build-depends: base, async, stm
     ghc-options: -O2 -threaded
-
-
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+## Changes in 2.2.4:
+
+ - Support for GHC 9.2
+
 ## Changes in 2.2.3:
 
  - Documentation fixes
