lkml.org 
[lkml]   [2023]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 10/11] scsi: message: fusion: Mark mpt_halt_firmware() __noreturn
    Date
    mpt_halt_firmware() doesn't return.  Mark it as such.

    Fixes the following warnings:

    vmlinux.o: warning: objtool: mptscsih_abort+0x7f4: unreachable instruction
    vmlinux.o: warning: objtool: mptctl_timeout_expired+0x310: unreachable instruction

    Reported-by: kernel test robot <lkp@intel.com>
    Link: https://lore.kernel.org/oe-kbuild-all/202302271743.78emit6I-lkp@intel.com/
    Reported-by: Mark Rutland <mark.rutland@arm.com>
    Debugged-by: Peter Zijlstra <peterz@infradead.org>
    Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
    ---
    drivers/message/fusion/mptbase.c | 2 +-
    drivers/message/fusion/mptbase.h | 2 +-
    tools/objtool/check.c | 1 +
    3 files changed, 3 insertions(+), 2 deletions(-)

    diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
    index 9b3ba2df71c7..4f0afce8428d 100644
    --- a/drivers/message/fusion/mptbase.c
    +++ b/drivers/message/fusion/mptbase.c
    @@ -6935,7 +6935,7 @@ EXPORT_SYMBOL(mpt_clear_taskmgmt_in_progress_flag);
    * @ioc: Pointer to MPT_ADAPTER structure
    *
    **/
    -void
    +void __noreturn
    mpt_halt_firmware(MPT_ADAPTER *ioc)
    {
    u32 ioc_raw_state;
    diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h
    index 4bd0682c65d3..0f226cdad64f 100644
    --- a/drivers/message/fusion/mptbase.h
    +++ b/drivers/message/fusion/mptbase.h
    @@ -945,7 +945,7 @@ extern int mpt_raid_phys_disk_get_num_paths(MPT_ADAPTER *ioc,
    u8 phys_disk_num);
    extern int mpt_set_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc);
    extern void mpt_clear_taskmgmt_in_progress_flag(MPT_ADAPTER *ioc);
    -extern void mpt_halt_firmware(MPT_ADAPTER *ioc);
    +extern void __noreturn mpt_halt_firmware(MPT_ADAPTER *ioc);


    /*
    diff --git a/tools/objtool/check.c b/tools/objtool/check.c
    index a42a2af99ea2..8586d4c36600 100644
    --- a/tools/objtool/check.c
    +++ b/tools/objtool/check.c
    @@ -219,6 +219,7 @@ static bool __dead_end_function(struct objtool_file *file, struct symbol *func,
    "lbug_with_loc",
    "machine_real_restart",
    "make_task_dead",
    + "mpt_halt_firmware",
    "nmi_panic_self_stop",
    "panic",
    "panic_smp_self_stop",
    --
    2.39.2
    \
     
     \ /
      Last update: 2023-04-08 02:11    [W:3.001 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site