Message ID | 4C5FD65B.8080800@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 9 August 2010 at 20:20, Tejun Heo <htejun@gmail.com> wrote: > >From 9a919c46dfa48a9c1f465174609b90253eb8ffc1 Mon Sep 17 00:00:00 2001 > From: Tejun Heo <tj@kernel.org> > Date: Mon, 9 Aug 2010 12:01:27 +0200 > > Commit 991ea75c (drm: use workqueue instead of slow-work), which made > drm to use wq instead of slow-work, didn't account for the return > value difference between delayed_slow_work_enqueue() and > queue_delayed_work(). The former returns 0 on success and -errno on > failures while the latter never fails and only uses the return value > to indicate whether the work was already pending or not. > > This misconversion triggered spurious error messages. Remove the now > unnecessary return value check and error message. > > Markus: caught another incorrect conversion in drm_kms_helper_poll_enable() Acked-by: David Airlie <airlied@linux.ie> For queuing via your tree. Thanks, Dave. > > Signed-off-by: Tejun Heo <tj@kernel.org> > Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de> > Tested-by: Markus Trippelsdorf <markus@trippelsdorf.de> > Cc: David Airlie <airlied@linux.ie> > Cc: dri-devel@lists.freedesktop.org > --- > Oops, you're right. So, this should do it. > > Thank you. > > drivers/gpu/drm/drm_crtc_helper.c | 16 ++++------------ > 1 files changed, 4 insertions(+), 12 deletions(-) > > diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c > index 4598130..b9e4dbf 100644 > --- a/drivers/gpu/drm/drm_crtc_helper.c > +++ b/drivers/gpu/drm/drm_crtc_helper.c > @@ -839,7 +839,6 @@ static void output_poll_execute(struct work_struct *work) > struct drm_connector *connector; > enum drm_connector_status old_status, status; > bool repoll = false, changed = false; > - int ret; > > mutex_lock(&dev->mode_config.mutex); > list_for_each_entry(connector, &dev->mode_config.connector_list, head) { > @@ -874,11 +873,8 @@ static void output_poll_execute(struct work_struct *work) > dev->mode_config.funcs->output_poll_changed(dev); > } > > - if (repoll) { > - ret = queue_delayed_work(system_nrt_wq, delayed_work, DRM_OUTPUT_POLL_PERIOD); > - if (ret) > - DRM_ERROR("delayed enqueue failed %d\n", ret); > - } > + if (repoll) > + queue_delayed_work(system_nrt_wq, delayed_work, DRM_OUTPUT_POLL_PERIOD); > } > > void drm_kms_helper_poll_disable(struct drm_device *dev) > @@ -893,18 +889,14 @@ void drm_kms_helper_poll_enable(struct drm_device *dev) > { > bool poll = false; > struct drm_connector *connector; > - int ret; > > list_for_each_entry(connector, &dev->mode_config.connector_list, head) { > if (connector->polled) > poll = true; > } > > - if (poll) { > - ret = queue_delayed_work(system_nrt_wq, &dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD); > - if (ret) > - DRM_ERROR("delayed enqueue failed %d\n", ret); > - } > + if (poll) > + queue_delayed_work(system_nrt_wq, &dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD); > } > EXPORT_SYMBOL(drm_kms_helper_poll_enable); > > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index 4598130..b9e4dbf 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c @@ -839,7 +839,6 @@ static void output_poll_execute(struct work_struct *work) struct drm_connector *connector; enum drm_connector_status old_status, status; bool repoll = false, changed = false; - int ret; mutex_lock(&dev->mode_config.mutex); list_for_each_entry(connector, &dev->mode_config.connector_list, head) { @@ -874,11 +873,8 @@ static void output_poll_execute(struct work_struct *work) dev->mode_config.funcs->output_poll_changed(dev); } - if (repoll) { - ret = queue_delayed_work(system_nrt_wq, delayed_work, DRM_OUTPUT_POLL_PERIOD); - if (ret) - DRM_ERROR("delayed enqueue failed %d\n", ret); - } + if (repoll) + queue_delayed_work(system_nrt_wq, delayed_work, DRM_OUTPUT_POLL_PERIOD); } void drm_kms_helper_poll_disable(struct drm_device *dev) @@ -893,18 +889,14 @@ void drm_kms_helper_poll_enable(struct drm_device *dev) { bool poll = false; struct drm_connector *connector; - int ret; list_for_each_entry(connector, &dev->mode_config.connector_list, head) { if (connector->polled) poll = true; } - if (poll) { - ret = queue_delayed_work(system_nrt_wq, &dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD); - if (ret) - DRM_ERROR("delayed enqueue failed %d\n", ret); - } + if (poll) + queue_delayed_work(system_nrt_wq, &dev->mode_config.output_poll_work, DRM_OUTPUT_POLL_PERIOD); } EXPORT_SYMBOL(drm_kms_helper_poll_enable);