linux-kernel-test/net/bluetooth
Marcel Holtmann 9eba32b86d Bluetooth: Add extra device reference counting for connections
The device model itself has no real usable reference counting at the
moment and this causes problems if parents are deleted before their
children. The device model itself handles the memory details of this
correctly, but the uevent order is not consistent. This causes various
problems for systems like HAL or even X.

So until device_put() does a proper cleanup, the device for Bluetooth
connection will be protected with an extra reference counting to ensure
the correct order of uevents when connections are terminated.

This is not an automatic feature. Higher Bluetooth layers like HIDP or
BNEP should grab this new reference to ensure that their uevents are
send before the ones from the parent device.

Based on a report by Brian Rogers <brian@xyzw.org>

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2009-08-22 14:19:26 -07:00
..
bnep net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions 2009-07-05 19:16:04 -07:00
cmtp isdn: rename capi_ctr_reseted() to capi_ctr_down() 2009-06-08 00:45:50 -07:00
hidp Bluetooth: Disconnect HIDRAW devices on disconnect 2009-08-22 14:15:53 -07:00
rfcomm bluetooth: rfcomm_init bug fix 2009-08-03 13:24:39 -07:00
af_bluetooth.c net: mark read-only arrays as const 2009-08-05 10:42:58 -07:00
hci_conn.c Bluetooth: Add extra device reference counting for connections 2009-08-22 14:19:26 -07:00
hci_core.c Bluetooth: Add native RFKILL soft-switch support for all devices 2009-06-08 14:50:01 +02:00
hci_event.c Bluetooth: Add extra device reference counting for connections 2009-08-22 14:19:26 -07:00
hci_sock.c Bluetooth: Enable per-module dynamic debug messages 2008-11-30 12:17:28 +01:00
hci_sysfs.c Bluetooth: Remove useless flush_work() causing lockdep warnings 2009-05-27 09:15:57 +02:00
Kconfig Bluetooth: Fix Kconfig issue with RFKILL integration 2009-06-14 15:30:51 +02:00
l2cap.c Bluetooth: Remove pointless endian conversion helpers 2009-06-08 14:50:01 +02:00
lib.c [NET] BLUETOOTH: Fix whitespace errors. 2007-02-10 23:19:20 -08:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sco.c Bluetooth: Add proper shutdown support to SCO sockets 2009-08-22 14:11:46 -07:00