[PATCH v2 00/41] CAPI: Major rework, tons of bug fixes

From: Jan Kiszka
Date: Mon Feb 08 2010 - 15:13:19 EST


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(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/