[PATCH v2 13/13] tty: pruss SUART driver
From: arnd@arndb.de (Arnd Bergmann)
Date: 2011-02-18 18:51:40
Also in:
lkml
On Friday 18 February 2011 19:23:49 Thomas Gleixner wrote:
On Fri, 18 Feb 2011, Alan Cox wrote:quoted
On Fri, 18 Feb 2011 19:17:38 +0530 "Subhasish Ghosh" [off-list ref] wrote:quoted
Hello, Regarding the semaphore to mutex migration. We are using down_trylock in interrupt context, mutex_trylock cannot be used in interrupt context, so we cannot use mutex in our driver.Then you probably need to rework your locking. Best bet might be to fix all the other stuff and report the driver, and people can think about the locking problem.That semaphore is utterly useless to begin with. There are more serious locking problems than this one. Non serialized calls to suart_intr_clrmask/suart_intr_setmask are the most obvious ones. Aside of that the code is complete unreadable.
I think it mostly suffers from the same problem as the CAN driver I commented on earlier: One of the files (pruss_suart_api.c) was clearly not written with Linux as the target, and the other files try to work around this by wrapping a Linux driver around it. The suart_api HAL stuff clearly needs to go away, so that the rest can be rewritten into a proper device driver. Arnd