> +static void dmabuf_sync_timeout_worker(struct work_struct *work) > +{ > + struct dmabuf_sync *sync = container_of(work, struct dmabuf_sync, > work); > + struct dmabuf_sync_object *sobj; > + > + mutex_lock(&sync->lock); > + > + list_for_each_entry(sobj, &sync->syncs, head) { > + if (WARN_ON(!sobj->robj)) > + continue; > + > + printk(KERN_WARNING "%s: timeout = 0x%x [type = %d, " \ > + "refcnt = %d, locked = %d]\n", > + sync->name, (u32)sobj->dmabuf, > + sobj->access_type, > + atomic_read(&sobj->robj->shared_cnt), > + sobj->robj->locked); > + > + /* unlock only valid sync object. */ > + if (!sobj->robj->locked) > + continue; > + > + if (sobj->robj->shared && > + atomic_read(&sobj->robj->shared_cnt) > 1) { > + atomic_dec(&sobj->robj->shared_cnt); > + continue; > + } > + > + ww_mutex_unlock(&sobj->robj->lock); > + > + if (sobj->access_type & DMA_BUF_ACCESS_READ) > + printk(KERN_WARNING "%s: r-unlocked = 0x%x\n", > + sync->name, (u32)sobj->dmabuf); > + else > + printk(KERN_WARNING "%s: w-unlocked = 0x%x\n", > + sync->name, (u32)sobj->dmabuf); > + > +#if defined(CONFIG_DEBUG_FS) > + sync_debugfs_timeout_cnt++; > +#endif Oops, unnecessary codes. will remove them. -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html