diff --git a/stratosphere/sm/Makefile b/stratosphere/sm/Makefile index dd7eb33..a0da4da 100644 --- a/stratosphere/sm/Makefile +++ b/stratosphere/sm/Makefile @@ -34,7 +34,7 @@ CFLAGS := -g -Wall -O2 -ffunction-sections \ $(ARCH) $(DEFINES) -CFLAGS += $(INCLUDE) -D__SWITCH__ -DSM_ENABLE_SMHAX -DSM_ENABLE_MITM +CFLAGS += $(INCLUDE) -D__SWITCH__ -DSM_ENABLE_SMHAX -DSM_ENABLE_MITM -DSM_MINIMUM_SESSION_LIMIT=8 CXXFLAGS := $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++17 diff --git a/stratosphere/sm/source/sm_registration.cpp b/stratosphere/sm/source/sm_registration.cpp index b6e4e31..1a5f49c 100644 --- a/stratosphere/sm/source/sm_registration.cpp +++ b/stratosphere/sm/source/sm_registration.cpp @@ -252,6 +252,12 @@ return 0x815; } +#ifdef SM_MINIMUM_SESSION_LIMIT + if (max_sessions < SM_MINIMUM_SESSION_LIMIT) { + max_sessions = SM_MINIMUM_SESSION_LIMIT; + } +#endif + Registration::Service *free_service = GetFreeService(); if (free_service == NULL) { return 0xA15; @@ -288,6 +294,12 @@ if (HasService(service)) { return 0x815; } + +#ifdef SM_MINIMUM_SESSION_LIMIT + if (max_sessions < SM_MINIMUM_SESSION_LIMIT) { + max_sessions = SM_MINIMUM_SESSION_LIMIT; + } +#endif Registration::Service *free_service = GetFreeService(); if (free_service == NULL) {