From 40f00e69af15af81174bd695a9104a2e517db6ed Mon Sep 17 00:00:00 2001 From: Shen Mintao Date: Thu, 6 Aug 2026 16:24:58 +0800 Subject: [PATCH] fix: support ARM32 ZLP kprobe arguments Read the first kernel argument from ARM_r0 on 32-bit ARM, where regs_get_kernel_argument() is unavailable. Fixes #82 --- drivers/aic8800/aic_zlp_quirk/aic_zlp_quirk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/aic8800/aic_zlp_quirk/aic_zlp_quirk.c b/drivers/aic8800/aic_zlp_quirk/aic_zlp_quirk.c index 122bb68..ad35540 100644 --- a/drivers/aic8800/aic_zlp_quirk/aic_zlp_quirk.c +++ b/drivers/aic8800/aic_zlp_quirk/aic_zlp_quirk.c @@ -149,7 +149,11 @@ static int usb_submit_urb_pre_handler(struct kprobe *p, struct pt_regs *regs) (void)p; +#if defined(CONFIG_ARM) + urb = (struct urb *)regs->ARM_r0; +#else urb = (struct urb *)regs_get_kernel_argument(regs, 0); +#endif if (is_bluetooth_acl_endpoint(urb)) enable_zlp(urb);