• Zhang Lixu's avatar
    HID: intel-ish-hid: handler multiple MNG_RESET_NOTIFY messages · 25247cf6
    Zhang Lixu authored
    This patch enhances the firmware reset handler in the Intel Integrated
    Sensor Hub (ISH) driver. Previously, the ISH firmware would send a
    MNG_RESET_NOTIFY message in response to an empty IPC message from the
    ish_wakeup function. With the introduction of the feature to load ISH
    firmware from the host on the LunarLake platform, the ISH bootloader
    now involves the IPC function. This results in an additional
    MNG_RESET_NOTIFY message being sent by ISH bootloader after power on.
    Consequently, the driver receives two MNG_RESET_NOTIFY messages during
    system boot up. This can disrupt the dev->dev_state during the first
    reset flow due to the subsequent reset notify message.
    
    To address this, the patch modifies the fw_reset_work_fn function to skip
    the execution of ishtp_reset_compl_handler during the first reset flow if
    a reset is pending. The ishtp_reset_compl_handler will then be executed
    during the second reset flow, ensuring the dev->dev_state is not disrupted.
    Signed-off-by: default avatarZhang Lixu <lixu.zhang@intel.com>
    Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
    25247cf6
ipc.c 24.7 KB