Hi. I received a report of problems with CONFIG_REGPARM and suspending, that led me to recheck asm calls and declarations. Not being a guru on these things, I want to ask advice from those who know more. Along the way I noticed that current git has: extern asmlinkage int swsusp_arch_suspend(void); extern asmlinkage int swsusp_arch_resume(void); This is right for x86, but for x86_64, we actually call a C routine in arch/x86_64/kernel/suspend.c, which calls restore_image in arch/x86_64/kernel/suspend_asm.S. Restore image is declared in suspend.c as extern int restore_image(void); should it be: extern asmlinkage int restore_image(void); Having swsusp_arch_resume declared as asmlinkage doesn't matter, does it? Regards, Nigel -- Nigel, Michelle and Alisdair Cunningham 5 Mitchell Street Cobden 3266 Victoria, Australia