* Hiroshi DOYU <Hiroshi.DOYU@xxxxxxxxx> [090827 00:26]: > Hi Tony, > > I fixed the error exit path as below and attached the updated verion > of the patch. Please replace the old one in for-next with the attached > one. OK will update. Tony > Modified arch/arm/plat-omap/iommu-debug.c > diff --git a/arch/arm/plat-omap/iommu-debug.c b/arch/arm/plat-omap/iommu-debug.c > index 5a7e409..c799b3b 100644 > --- a/arch/arm/plat-omap/iommu-debug.c > +++ b/arch/arm/plat-omap/iommu-debug.c > @@ -268,14 +268,14 @@ static ssize_t debug_read_mem(struct file *file, char __user *userbuf, > > area = find_iovm_area(obj, (u32)ppos); > if (IS_ERR(area)) { > - mutex_unlock(&iommu_debug_lock); > - return -EINVAL; > + bytes = -EINVAL; > + goto err_out; > } > memcpy(p, area->va, count); > p += count; > > bytes = simple_read_from_buffer(userbuf, count, ppos, buf, p - buf); > - > +err_out: > mutex_unlock(&iommu_debug_lock); > free_page((unsigned long)buf); > > @@ -299,17 +299,17 @@ static ssize_t debug_write_mem(struct file *file, const char __user *userbuf, > mutex_lock(&iommu_debug_lock); > > if (copy_from_user(p, userbuf, count)) { > - mutex_unlock(&iommu_debug_lock); > - return -EFAULT; > + count = -EFAULT; > + goto err_out; > } > > area = find_iovm_area(obj, (u32)ppos); > if (IS_ERR(area)) { > - mutex_unlock(&iommu_debug_lock); > - return -EINVAL; > + count = -EINVAL; > + goto err_out; > } > memcpy(area->va, p, count); > - > +err_out: > mutex_unlock(&iommu_debug_lock); > free_page((unsigned long)buf); > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html