On Monday, March 23, 2020 6:08:51 AM CET Neeraj Upadhyay wrote: > Skip wakeup_source_sysfs_remove(), to fix null pinter access of > ws->dev, if wakeup source is unregistered before wakeup class > is registered from device_add(). > > Fixes: 2ca3d1ecb8c4 ("PM / wakeup: Register wakeup class kobj after device is added") > Signed-off-by: Neeraj Upadhyay <neeraju@xxxxxxxxxxxxxx> > --- > drivers/base/power/wakeup.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c > index 27f3e60..f8f8c0a 100644 > --- a/drivers/base/power/wakeup.c > +++ b/drivers/base/power/wakeup.c > @@ -241,7 +241,8 @@ void wakeup_source_unregister(struct wakeup_source *ws) > { > if (ws) { > wakeup_source_remove(ws); > - wakeup_source_sysfs_remove(ws); > + if (ws->dev) > + wakeup_source_sysfs_remove(ws); > wakeup_source_destroy(ws); > } > } > Applied (with some minor changes) as 5.7 material, thanks!