lkml.org 
[lkml]   [2010]   [Aug]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH wq#for-linus] drm: fix a fallout from slow-work -> wq conversion
    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.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de>
    Cc: David Airlie <airlied@linux.ie>
    Cc: dri-devel@lists.freedesktop.org
    ---
    Markus, it's almost trivial but it would be great if you can test this
    one too.

    David, may I route this wq#for-linus?

    Thanks.

    drivers/gpu/drm/drm_crtc_helper.c | 8 ++------
    1 file changed, 2 insertions(+), 6 deletions(-)

    diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c
    index 4598130..211ed7e 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)

    \
     
     \ /
      Last update: 2010-08-09 12:03    [W:0.025 / U:1.596 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site