assert(port < N_CSI_PORTS);
 
-       if (port >= N_CSI_PORTS || err) {
+       if ((!IS_ISP2401 && port >= N_CSI_PORTS) ||
+           (IS_ISP2401 && err)) {
                ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
                                    "allocate_mipi_frames(%p) exit: error: port is not correct (port=%d).\n",
                                    pipe, port);
 
                assert(port < N_CSI_PORTS);
 
-               if (port >= N_CSI_PORTS || err) {
+               if ((!IS_ISP2401 && port >= N_CSI_PORTS) ||
+                   (IS_ISP2401 && err)) {
                        ia_css_debug_dtrace(IA_CSS_DEBUG_TRACE_PRIVATE,
                                            "free_mipi_frames(%p, %d) exit: error: pipe port is not correct.\n",
                                            pipe, port);
 
        assert(port < N_CSI_PORTS);
 
-       if (port >= N_CSI_PORTS || err) {
+       if ((!IS_ISP2401 && port >= N_CSI_PORTS) ||
+           (IS_ISP2401 && err)) {
                IA_CSS_ERROR("send_mipi_frames(%p) exit: invalid port specified (port=%d).\n",
                             pipe, port);
                return err;