Messages in this thread | | | From | Jan Kiszka <> | Subject | [PATCH v2 00/41] CAPI: Major rework, tons of bug fixes | Date | Mon, 8 Feb 2010 21:12:04 +0100 |
| |
Here is the second take of my CAPI rework. I tried to address all feedback on v1, so this one comes with the following changes:
o rebased over net-next o reworked locking of the NCCI TTY using latest and greatest tty_port features and kref, hopefully in the right way o more fine-grained patch steps for the tricky TTY rework o dynamic major for NCCI TTYs, ie. CAPI no longer claims 191 o dynamic TTY minor registrations, completely obsoleting capifs o schedule capifs for removal o some small additional cleanups
I kept my capifs fixes though this thing should die in the future. The work is done, and people may still use it due to their distro configuration (and the hard-wired loading by capiinit - needs fixing).
You can pull this series from
git://git.kiszka.org/linux-2.6.git capi
Jan
Jan Kiszka (41): CAPI: Fix leaks in capifs_new_ncci CAPI: Sanitize capifs API CAPI: Eliminate capifs_root variable CAPI: Pin capifs instead of mounting it CAPI: Reduce chattiness during module loading/removal CAPI: Call a controller 'controller', not 'card' CAPI: Convert capi drivers rwlock into mutex CAPI: Rework capi_ctr_ready/down CAPI: Rework controller state notifier CAPI: Rework locking of controller data structures CAPI: Rework application locking CAPI: Reduce #ifdef mess around CONFIG_ISDN_CAPI_MIDDLEWARE CAPI: Convert capidev_list_lock into a mutex CAPI: Clean up capi_open/release CAPI: Rework locking of capidev members CAPI: Use non-atomic allocation during NCCI setup CAPI: Fix racy capi_read CAPI: Switch NCCI list to standard doubly linked list CAPI: Switch capiminor list to array CAPI: Clean up capinc_tty_init/exit CAPI: Dynamically register minor devices CAPI: Use dynamic major for NCCI TTYs by default CAPI: Use kref on capiminor CAPI: Establish install/cleanup handlers for capiminor TTYs CAPI: Use tty_port to keep track of capiminor's tty CAPI: Drop remaining NULL checks on tty->driver_data CAPI: Issue synchronous hangup on capincci_free_minor CAPI: Drop obsolete nccip from capiminor struct CAPI: Clean up capiminors_lock CAPI: Drop atomic ttyopencount CAPI: Drop handle_minor_recv from capinc_tty_write CAPI: Rework capiminor RX handler CAPI: Rename datahandle_queue -> ackqueue_entry CAPI: Use atomics for capiminor's datahandle and msgid CAPI: Drop capiminor's unused inbytes counter CAPI: Fix locking around capiminor's output queue and drop workaround_lock CAPI: Clean up capiminor_*_ack CAPI: Drop return value of handle_minor_send CAPI: Drop special controller lookup from capi20_put_message CAPI: Schedule capifs for removal CAPI: Remove experimental tag from middleware feature
Documentation/feature-removal-schedule.txt | 10 + drivers/isdn/capi/Kconfig | 16 +- drivers/isdn/capi/capi.c | 1108 ++++++++++++++-------------- drivers/isdn/capi/capidrv.c | 48 +- drivers/isdn/capi/capifs.c | 126 ++-- drivers/isdn/capi/capifs.h | 21 +- drivers/isdn/capi/kcapi.c | 805 +++++++++++--------- drivers/isdn/capi/kcapi.h | 13 +- drivers/isdn/capi/kcapi_proc.c | 41 +- include/linux/isdn/capilli.h | 5 +- include/linux/kernelcapi.h | 17 +- 11 files changed, 1151 insertions(+), 1059 deletions(-)
| |