On Wednesday 29 July 2009, Rafael J. Wysocki wrote:> On Wednesday 29 July 2009, you wrote:> > http://bugzilla.kernel.org/show_bug.cgi?id=13865> >> > Just for testing I enabled HP_WMI. But from then, I could not resume> > anymore. I just reverted the last git commit on the> > 'drivers/platform/x86/hp-wmi.c' code> > (4c395bdd3f2ca8f7e8efad881e16071182c3b8ca) and now I can resume. The> > problem still persists on .31-rc serie Here's the final patch, tested by Cédric. (And properly against mainline.) From: Frans Pop <elendil@xxxxxxxxx>Subject: hp-wmi: check that an input device exists in resume handler Some systems may not support input events, or registering the inputhandler may have failed. So check that an input device exists beforetrying to set the docking and tablet mode state during resume. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13865 Reported-and-tested-by: Cédric Godin <cedric@xxxxxxxxxx>Signed-off-by: Frans Pop <elendil@xxxxxxxxx>Cc: Matthew Garrett <mjg59@xxxxxxxxxxxxx> diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.cindex ca50856..a2ad53e 100644--- a/drivers/platform/x86/hp-wmi.c+++ b/drivers/platform/x86/hp-wmi.c@@ -520,11 +520,13 @@ static int hp_wmi_resume_handler(struct platform_device *device) * the input layer will only actually pass it on if the state * changed. */-- input_report_switch(hp_wmi_input_dev, SW_DOCK, hp_wmi_dock_state());- input_report_switch(hp_wmi_input_dev, SW_TABLET_MODE,- hp_wmi_tablet_state());- input_sync(hp_wmi_input_dev);+ if (hp_wmi_input_dev) {+ input_report_switch(hp_wmi_input_dev, SW_DOCK,+ hp_wmi_dock_state());+ input_report_switch(hp_wmi_input_dev, SW_TABLET_MODE,+ hp_wmi_tablet_state());+ input_sync(hp_wmi_input_dev);+ } return 0; }_______________________________________________linux-pm mailing listlinux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx://lists.linux-foundation.org/mailman/listinfo/linux-pm