]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
firewire: core: fix undefined reference error in ARM EABI
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 28 Sep 2025 01:19:10 +0000 (10:19 +0900)
committerTakashi Sakamoto <o-takashi@sakamocchi.jp>
Sun, 28 Sep 2025 01:20:30 +0000 (10:20 +0900)
For ARM EABI, GCC generates a reference to __aeabi_uldivmod when compiling
a division of 64-bit integer with 32-bit integer. This function is not
available in Linux kernel. In such cases, helper macros are defined in
include/linux/math64.h.

This commit replaces the division with div_u64().

Fixes: 8ec6a8ec23b9 ("firewire: core: suppress overflow warning when computing jiffies from isochronous cycle")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202509270428.FZaO2PPq-lkp@intel.com/
Link: https://lore.kernel.org/r/20250928011910.581475-1-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
drivers/firewire/core.h

index 2dd715a580ac8b448ad7feeb47cc70c71ef7a036..e67395ce26b5e3c44c9310c4b88cb20b243cae1b 100644 (file)
@@ -30,7 +30,7 @@ struct fw_packet;
 // This is the arbitrary value we use to indicate a mismatched gap count.
 #define GAP_COUNT_MISMATCHED   0
 
-#define isoc_cycles_to_jiffies(cycles) usecs_to_jiffies((u32)((u64)(cycles) * USEC_PER_SEC / 8000))
+#define isoc_cycles_to_jiffies(cycles) usecs_to_jiffies((u32)div_u64((u64)cycles * USEC_PER_SEC, 8000))
 
 extern __printf(2, 3)
 void fw_err(const struct fw_card *card, const char *fmt, ...);