Message ID | 20161025105050.GA20923@amd (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Thanks for the pointer. But I don't like this patch. If you find a bug, make a bug report or just fix it if you know the fix already. Or write something in IRC. Or write on the Mailing list as a general question or something else But I really don't agree on doing it this way. You would have needed like the same amount of time to actual fix the problem. Anyway, for adding a printk: struct nvkm_subdev *subdev = &therm->subdev; nvkm_error(subdev, "message"); 2016-10-25 12:50 GMT+02:00 Pavel Machek <pavel@ucw.cz>: > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > index b9703c0..adb1deb 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > @@ -120,6 +120,11 @@ nvkm_therm_sensor_event(struct nvkm_therm *therm, enum nvkm_therm_thrs thrs, > struct work_struct *work; > > work = kmalloc(sizeof(*work), GFP_ATOMIC); > + /* FIXME: > + 1) this is total overkill, orderly_poweroff() already > + uses schedule_work internally > + 2) it would be good to at least printk what is going on > + */ > if (work) { > INIT_WORK(work, nv_poweroff_work); > schedule_work(work); > > GFP_ATOMIC is not reliable. Plus, see the fixme. > > Best regards, > Pavel > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > > _______________________________________________ > Nouveau mailing list > Nouveau@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/nouveau >
On Tue 2016-10-25 13:09:25, Karol Herbst wrote: > Thanks for the pointer. > > But I don't like this patch. If you find a bug, make a bug report or > just fix it if you know the fix already. Or write something in > IRC. Or I found a bug, and this is my bug report. Can you take care and fix it? Pavel > write on the Mailing list as a general question or something else > > But I really don't agree on doing it this way. You would have needed > like the same amount of time to actual fix the problem. > > Anyway, for adding a printk: > > struct nvkm_subdev *subdev = &therm->subdev; > nvkm_error(subdev, "message"); > > 2016-10-25 12:50 GMT+02:00 Pavel Machek <pavel@ucw.cz>: > > > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > index b9703c0..adb1deb 100644 > > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c > > @@ -120,6 +120,11 @@ nvkm_therm_sensor_event(struct nvkm_therm *therm, enum nvkm_therm_thrs thrs, > > struct work_struct *work; > > > > work = kmalloc(sizeof(*work), GFP_ATOMIC); > > + /* FIXME: > > + 1) this is total overkill, orderly_poweroff() already > > + uses schedule_work internally > > + 2) it would be good to at least printk what is going on > > + */ > > if (work) { > > INIT_WORK(work, nv_poweroff_work); > > schedule_work(work); > > > > GFP_ATOMIC is not reliable. Plus, see the fixme. > > > > Best regards, > > Pavel > > > > -- > > (english) http://www.livejournal.com/~pavelmachek > > (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > > > > _______________________________________________ > > Nouveau mailing list > > Nouveau@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/nouveau > >
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c index b9703c0..adb1deb 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c @@ -120,6 +120,11 @@ nvkm_therm_sensor_event(struct nvkm_therm *therm, enum nvkm_therm_thrs thrs, struct work_struct *work; work = kmalloc(sizeof(*work), GFP_ATOMIC); + /* FIXME: + 1) this is total overkill, orderly_poweroff() already + uses schedule_work internally + 2) it would be good to at least printk what is going on + */ if (work) { INIT_WORK(work, nv_poweroff_work); schedule_work(work);