lkml.org 
[lkml]   [2009]   [Oct]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [stable] Bluetooth input fixes for stable
    On Tue, Oct 13, 2009 at 04:35:54AM -0700, Brian Rogers wrote:
    > Tim Gardner wrote:
    > > Brian Rogers wrote:
    > >
    > >> For Karmic's kernel, I recommend the following cherry-picks from upstream:
    > >>
    > >> 364f63519d94442ed373ac7da79033c8282df46a
    > >> 9eba32b86d17ef87131fa0bce43c614904ab5781
    > >> edad63886993d18ab800c49f6587a93432ef8b35
    > >>
    > >> They ensure Bluetooth input devices such as keyboards and mice are
    > >> removed completely and in proper order when they disconnect, so that HAL
    > >> sees the removal and relays the info to X. Without this, disconnected
    > >> Bluetooth devices are left in X, and duplicates appear on each
    > >> reconnection until the input device limit is hit. Then no newly
    > >> connected input devices will work.
    > >>
    > >> Brian
    > >>
    > >
    > > These look suitable for 2.6.31 stable. Have you sent them to
    > > stable@kernel.org?
    > >
    >
    > Actually, I hadn't sent these to stable yet, but that's a good idea.
    > CCing relevant parties.
    >
    > It's not actually a regression (or at least not a recent one) since the
    > stale input device problem has existed as far back as I can remember,
    > but these commits do 'fix a real bug that bothers people', as the
    > guideline states, so I guess it's appropriate for stable.
    >
    > Commit messages below:
    >
    > commit 364f63519d94442ed373ac7da79033c8282df46a
    > Author: Marcel Holtmann <marcel@holtmann.org>
    > Date: Sat Aug 22 14:15:53 2009 -0700
    >
    > Bluetooth: Disconnect HIDRAW devices on disconnect
    >
    > Currently the HID subsystem will create HIDRAW devices for the transport
    > driver, but it will not disconnect them. Until the HID subsytem gets
    > fixed, ensure that HIDRAW and HIDDEV devices are disconnected when the
    > Bluetooth HID device gets removed.
    >
    > Based on a patch from Brian Rogers <brian@xyzw.org>
    >
    > Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
    >
    > commit 9eba32b86d17ef87131fa0bce43c614904ab5781
    > Author: Marcel Holtmann <marcel@holtmann.org>
    > Date: Sat Aug 22 14:19:26 2009 -0700
    >
    > 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>
    >
    > commit edad63886993d18ab800c49f6587a93432ef8b35
    > Author: Marcel Holtmann <marcel@holtmann.org>
    > Date: Sat Aug 22 14:22:15 2009 -0700
    >
    > Bluetooth: Let HIDP grab the device reference for connections
    >
    > The core exports the hci_conn_hold_device() and hci_conn_put_device()
    > functions for device reference of connections. Use this to ensure that
    > the uevents from the parent are send after the child ones.
    >
    > Based on a report by Brian Rogers <brian@xyzw.org>
    >
    > Signed-off-by: Marcel Holtmann <marcel@holtmann.org>

    All queued up now.

    thanks,

    greg k-h


    \
     
     \ /
      Last update: 2009-10-15 20:47    [W:0.028 / U:0.232 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site