• Ville Syrjälä's avatar
    drm: aux ->transfer() can return 0, deal with it · a1f5524a
    Ville Syrjälä authored
    Restore the correct behaviour (as in check msg.reply) when aux
    ->transfer() returns 0. It got removed in
    commit 82922da3 ("drm/dp_helper: Retry aux transactions on all errors")
    
    Now I can actually dump the "entire" DPCD on a Dell UP2314Q with
    ddrescue. It has some offsets in the DPCD that can't be read
    for some resaon, all you get is defers. Previously ddrescue would
    just give up at the first unredable offset on account of
    read() returning 0 means EOF. Here's the ddrescue log
    for the interested:
    0x00000000  0x00001400  +
    0x00001400  0x00000030  -
    0x00001430  0x000001D0  +
    0x00001600  0x00000030  -
    0x00001630  0x0001F9D0  +
    0x00021000  0x00000001  -
    0x00021001  0x000DEFFF  +
    
    Cc: Lyude <cpaul@redhat.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch
    Cc: stable@vger.kernel.org
    Fixes: 82922da3 ("drm/dp_helper: Retry aux transactions on all errors")
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    a1f5524a
drm_dp_helper.c 24.1 KB