X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=drivers%2Fdma-buf%2Ffence.c;h=0ed73ad1b87628314b792479da3320d7a44d3e90;hb=968ccb6e8330739448c9fb40a6ed08013b17cbc7;hp=7b05dbe9b2964fd8c431dde0512a0ba2f4fd6ff2;hpb=a3767e3c9da514e63e898772b72b932f9eb3b062;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/dma-buf/fence.c b/drivers/dma-buf/fence.c index 7b05dbe9b296..0ed73ad1b876 100644 --- a/drivers/dma-buf/fence.c +++ b/drivers/dma-buf/fence.c @@ -304,8 +304,12 @@ fence_remove_callback(struct fence *fence, struct fence_cb *cb) spin_lock_irqsave(fence->lock, flags); ret = !list_empty(&cb->node); - if (ret) + if (ret) { list_del_init(&cb->node); + if (list_empty(&fence->cb_list)) + if (fence->ops->disable_signaling) + fence->ops->disable_signaling(fence); + } spin_unlock_irqrestore(fence->lock, flags);