![]() | |||||||||||||
Messages in this thread |
Hi,
> Armin Schindler:
> o ISDN CAPI: add ncci list semaphore
This looks broken for !CONFIG_ISDN_CAPI_MIDDLEWARE configs. Note the up()
inside the #ifdef.
@@ -904,13 +917,17 @@
if (copy_from_user((void *)&ncci, (void *)arg,
sizeof(ncci)))
return -EFAULT;
- nccip = capincci_find(cdev, (u32) ncci);
- if (!nccip)
+
+ down(&cdev->ncci_list_sem);
+ if ((nccip = capincci_find(cdev, (u32) ncci)) == 0) {
+ up(&cdev->ncci_list_sem);
return 0;
+ }
#ifdef CONFIG_ISDN_CAPI_MIDDLEWARE
if ((mp = nccip->minorp) != 0) {
count += atomic_read(&mp->ttyopencount);
}
+ up(&cdev->ncci_list_sem);
#endif /* CONFIG_ISDN_CAPI_MIDDLEWARE */
return count;
}
Regards,
Florian
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||||
| Last update: 2005-03-22 13:02 [W:0.591 / U:0.040 seconds] ©2003-2008 Jasper Spaans | |||||||||||||