#define WORKMEM_ALIGN  (CRB_ALIGN)
 #define CSB_WAIT_MAX   (5000) /* ms */
 #define VAS_RETRIES    (10)
-/* # of requests allowed per RxFIFO at a time. 0 for unlimited */
-#define MAX_CREDITS_PER_RXFIFO (1024)
 
 struct nx842_workmem {
        /* Below fields must be properly aligned */
        rxattr.lnotify_lpid = lpid;
        rxattr.lnotify_pid = pid;
        rxattr.lnotify_tid = tid;
-       rxattr.wcreds_max = MAX_CREDITS_PER_RXFIFO;
+       /*
+        * Maximum RX window credits can not be more than #CRBs in
+        * RxFIFO. Otherwise, can get checkstop if RxFIFO overruns.
+        */
+       rxattr.wcreds_max = fifo_size / CRB_SIZE;
 
        /*
         * Open a VAS receice window which is used to configure RxFIFO