diff --git a/2531.patch b/2531.patch
new file mode 100644
index 0000000..4ddce32
--- /dev/null
+++ b/2531.patch
@@ -0,0 +1,46 @@
+From a8015f7dfc682100434e3ee051bf9472a8e6cad4 Mon Sep 17 00:00:00 2001
+From: Jeremy Linton <jeremy.linton@arm.com>
+Date: Fri, 6 Oct 2023 10:33:22 -0500
+Subject: [PATCH] feat(kernel-modules): add Qualcomm IPC router to enable USB
+
+The x13s, and possibly other Qualcomm based devices need the QC
+IPC router driver in order to enable USB. Without it, its not
+possible to boot from USB-C attached disks.
+
+IPC in this case is Inter _Processor_ Communication and forms
+the message bus used to communicate between differing processing
+elements in a given system/SoC running and managing various
+hardware devices. This means that while it appears this driver
+should be in the dracut network modules that is incorrect
+because its not for enabling host networking in the initrd,
+but rather for communicating with other hardware blocks.
+
+Those other blocks aren't limited to modems, but any SMD (shared
+memory device), which on QC based machines includes the audio DSPs,
+RPM (resource power manager) and of course the application
+processor cores linux is running on.
+
+References:
+https://osmocom.org/projects/quectel-modems/wiki/Qualcomm_Linux_SMD
+https://android.googlesource.com/kernel/msm/+/android-7.1.0_r0.2/Documentation/arm/msm/msm_ipc_router.txt
+https://github.com/dracutdevs/dracut/pull/2531
+
+Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
+---
+ modules.d/90kernel-modules/module-setup.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index e217512594..75afecc86f 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -95,7 +95,8 @@ installkernel() {
+                 "=drivers/usb/misc" \
+                 "=drivers/usb/musb" \
+                 "=drivers/usb/phy" \
+-                "=drivers/scsi/hisi_sas"
++                "=drivers/scsi/hisi_sas" \
++                "=net/qrtr"
+         fi
+ 
+         awk -F: '/^\// {print $1}' "$srcmods/modules.dep" 2> /dev/null | instmods
diff --git a/dracut.spec b/dracut.spec
index 3c3e925..4d0fb31 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -7,7 +7,7 @@
 %global __requires_exclude pkg-config
 
 # rpmdev-bumpspec and releng automation compatible variable
-%global baserelease 17
+%global baserelease 18
 
 Name: dracut
 Version: 059
@@ -94,6 +94,10 @@ Patch16: https://github.com/dracutdevs/dracut/pull/2527.patch
 # https://github.com/dracutdevs/dracut/pull/2481
 Patch17: 2481-remove-microcode-check-based-on-CONFIG_MICROCODE_.patch
 
+# Fix for Lenovo x13s
+# https://github.com/dracutdevs/dracut/pull/2531
+Patch: 2531.patch
+
 BuildRequires: bash
 BuildRequires: git-core
 BuildRequires: pkgconfig(libkmod) >= 23
@@ -494,6 +498,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
 %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
 
 %changelog
+* Fri Dec 08 2023 Dennis Gilmore <dennis@ausil.us> - 059-18
+- Add Qualcomm IPC router to enable USB(Lenovo x13s)
+
 * Thu Nov 16 2023 Pavel Valena <pvalena@redhat.com> - 059-17
 - fix(dracut.sh): remove microcode check based on