]> www.infradead.org Git - users/hch/misc.git/commitdiff
parisc: Firmware: Fix returned path for PDC_MODULE_FIND on older machines
authorHelge Deller <deller@gmx.de>
Thu, 9 Oct 2025 21:33:34 +0000 (23:33 +0200)
committerHelge Deller <deller@gmx.de>
Thu, 9 Oct 2025 21:45:04 +0000 (23:45 +0200)
Older machines (like my 715/64) don't correctly initialize the
device path when returning from the PDC_MODULE_FIND firmware call.
Work around that shortcoming by initializing the path with the
known values.

Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/kernel/firmware.c

index c69f6d5946e9063f0f3b802ea3424b74f79caa35..042343492a28010ce9c055d8c8673d21710aaa16 100644 (file)
@@ -464,7 +464,8 @@ int pdc_system_map_find_mods(struct pdc_system_map_mod_info *pdc_mod_info,
        unsigned long flags;
 
        spin_lock_irqsave(&pdc_lock, flags);
-       retval = mem_pdc_call(PDC_SYSTEM_MAP, PDC_FIND_MODULE, __pa(pdc_result), 
+       memcpy(pdc_result2, mod_path, sizeof(*mod_path));
+       retval = mem_pdc_call(PDC_SYSTEM_MAP, PDC_FIND_MODULE, __pa(pdc_result),
                              __pa(pdc_result2), mod_index);
        convert_to_wide(pdc_result);
        memcpy(pdc_mod_info, pdc_result, sizeof(*pdc_mod_info));