Hi, On 11/8/21 07:06, Slark Xiao wrote: > When WWAN device wake from S3 deep, under thinkpad platform, > WWAN would be disabled. This disable status could be checked > by command 'nmcli r wwan' or 'rfkill list'. > > Issue analysis as below: > When host resume from S3 deep, thinkpad_acpi driver would > call hotkey_resume() function. Finnaly, it will use > wan_get_status to check the current status of WWAN device. > During this resume progress, wan_get_status would always > return off even WWAN boot up completely. > In patch V2, Hans said 'sw_state should be unchanged > after a suspend/resume. It's better to drop the > tpacpi_rfk_update_swstate call all together from the > resume path'. > And it's confimed by Lenovo that GWAN is no longer > available from WHL generation because the design does not > match with current pin control. > > Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> I will merge this once 5.16-rc1 is out. Regards, Hans > --- > drivers/platform/x86/thinkpad_acpi.c | 12 ------------ > 1 file changed, 12 deletions(-) > > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c > index 50ff04c84650..f1cbd27282e1 100644 > --- a/drivers/platform/x86/thinkpad_acpi.c > +++ b/drivers/platform/x86/thinkpad_acpi.c > @@ -1178,15 +1178,6 @@ static int tpacpi_rfk_update_swstate(const struct tpacpi_rfk *tp_rfk) > return status; > } > > -/* Query FW and update rfkill sw state for all rfkill switches */ > -static void tpacpi_rfk_update_swstate_all(void) > -{ > - unsigned int i; > - > - for (i = 0; i < TPACPI_RFK_SW_MAX; i++) > - tpacpi_rfk_update_swstate(tpacpi_rfkill_switches[i]); > -} > - > /* > * Sync the HW-blocking state of all rfkill switches, > * do notice it causes the rfkill core to schedule uevents > @@ -3129,9 +3120,6 @@ static void tpacpi_send_radiosw_update(void) > if (wlsw == TPACPI_RFK_RADIO_OFF) > tpacpi_rfk_update_hwblock_state(true); > > - /* Sync sw blocking state */ > - tpacpi_rfk_update_swstate_all(); > - > /* Sync hw blocking state last if it is hw-unblocked */ > if (wlsw == TPACPI_RFK_RADIO_ON) > tpacpi_rfk_update_hwblock_state(false); > _______________________________________________ ibm-acpi-devel mailing list ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel