<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/bluetooth, branch v2.6.21.7</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>[PATCH] BLUETOOTH: Fix locking in hci_sock_dev_event().</title>
<updated>2007-06-11T18:36:54+00:00</updated>
<author>
<name>Satyam Sharma</name>
<email>ssatyam@cse.iitk.ac.in</email>
</author>
<published>2007-06-07T06:02:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=d951c856912acfbb85eb33f59230c3019ef5dd55'/>
<id>d951c856912acfbb85eb33f59230c3019ef5dd55</id>
<content type='text'>
We presently use lock_sock() to acquire a lock on a socket in
hci_sock_dev_event(), but this goes BUG because lock_sock()
can sleep and we're already holding a read-write spinlock at
that point. So, we must use the non-sleeping BH version,
bh_lock_sock().

However, hci_sock_dev_event() is called from user context and
hence using simply bh_lock_sock() will deadlock against a
concurrent softirq that tries to acquire a lock on the same
socket. Hence, disabling BH's before acquiring the socket lock
and enable them afterwards, is the proper solution to fix
socket locking in hci_sock_dev_event().

Signed-off-by: Satyam Sharma &lt;ssatyam@cse.iitk.ac.in&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We presently use lock_sock() to acquire a lock on a socket in
hci_sock_dev_event(), but this goes BUG because lock_sock()
can sleep and we're already holding a read-write spinlock at
that point. So, we must use the non-sleeping BH version,
bh_lock_sock().

However, hci_sock_dev_event() is called from user context and
hence using simply bh_lock_sock() will deadlock against a
concurrent softirq that tries to acquire a lock on the same
socket. Hence, disabling BH's before acquiring the socket lock
and enable them afterwards, is the proper solution to fix
socket locking in hci_sock_dev_event().

Signed-off-by: Satyam Sharma &lt;ssatyam@cse.iitk.ac.in&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] bluetooth hid quirks: mightymouse quirk</title>
<updated>2007-03-29T15:22:24+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2007-03-29T08:20:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=cb3fecc2f29056e89658e7eb371e7f9be66cda6d'/>
<id>cb3fecc2f29056e89658e7eb371e7f9be66cda6d</id>
<content type='text'>
I have a bugreport that scrollwheel of bluetooth version of apple
mightymouse doesn't work.  The USB version of mightymouse works, as there
is a quirk for handling scrollwheel in hid/usbhid for it.

Now that bluetooth git tree is hooked to generic hid layer, it could easily
use the quirks which are already present in generic hid parser, hid-input,
etc.

Below is a simple patch against bluetooth git tree, which adds quirk
handling to current bluetooth hidp code, and sets quirk flags for device
0x05ac/0x030c, which is the bluetooth version of the apple mightymouse.

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I have a bugreport that scrollwheel of bluetooth version of apple
mightymouse doesn't work.  The USB version of mightymouse works, as there
is a quirk for handling scrollwheel in hid/usbhid for it.

Now that bluetooth git tree is hooked to generic hid layer, it could easily
use the quirks which are already present in generic hid parser, hid-input,
etc.

Below is a simple patch against bluetooth git tree, which adds quirk
handling to current bluetooth hidp code, and sets quirk flags for device
0x05ac/0x030c, which is the bluetooth version of the apple mightymouse.

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET]: fix up misplaced inlines.</title>
<updated>2007-03-22T19:27:49+00:00</updated>
<author>
<name>Dave Jones</name>
<email>davej@redhat.com</email>
</author>
<published>2007-03-22T19:27:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b6f99a211957910a07437f46ce54dcfb1755cf84'/>
<id>b6f99a211957910a07437f46ce54dcfb1755cf84</id>
<content type='text'>
Turning up the warnings on gcc makes it emit warnings
about the placement of 'inline' in function declarations.
Here's everything that was under net/

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Turning up the warnings on gcc makes it emit warnings
about the placement of 'inline' in function declarations.
Here's everything that was under net/

Signed-off-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] bluetooth: fix socket locking in hci_sock_dev_event()</title>
<updated>2007-03-08T15:38:21+00:00</updated>
<author>
<name>Jiri Kosina</name>
<email>jkosina@suse.cz</email>
</author>
<published>2007-03-08T04:41:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=b40df5743ee8aed8674edbbb77b8fd3c8c7a747f'/>
<id>b40df5743ee8aed8674edbbb77b8fd3c8c7a747f</id>
<content type='text'>
[Bluetooth] Fix socket locking in hci_sock_dev_event()

hci_sock_dev_event() uses bh_lock_sock() to lock the socket lock.
This is not deadlock-safe against locking of the same socket lock in
l2cap_connect_cfm() from softirq context. In addition to that,
hci_sock_dev_event() doesn't seem to be called from softirq context,
so it is safe to use lock_sock()/release_sock() instead.

The lockdep warning can be triggered on my T42p simply by switching
the Bluetooth off by the keyboard button.

  =================================
  [ INFO: inconsistent lock state ]
  2.6.21-rc2 #4
  ---------------------------------
  inconsistent {in-softirq-W} -&gt; {softirq-on-W} usage.
  khubd/156 [HC0[0]:SC0[0]:HE1:SE1] takes:
   (slock-AF_BLUETOOTH){-+..}, at: [&lt;e0ca5520&gt;] hci_sock_dev_event+0xa8/0xc5 [bluetooth]
  {in-softirq-W} state was registered at:
    [&lt;c012d1db&gt;] mark_lock+0x59/0x414
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;c012dfd7&gt;] __lock_acquire+0x3e5/0xb99
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;c012e7f2&gt;] lock_acquire+0x67/0x81
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;c036ee72&gt;] _spin_lock+0x29/0x34
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;e0ca17c3&gt;] hci_send_cmd+0x126/0x14f [bluetooth]
    [&lt;e0ca4ce4&gt;] hci_event_packet+0x729/0xebd [bluetooth]
    [&lt;e0ca205b&gt;] hci_rx_task+0x2a/0x20f [bluetooth]
    [&lt;e0ca209d&gt;] hci_rx_task+0x6c/0x20f [bluetooth]
    [&lt;c012d7be&gt;] trace_hardirqs_on+0x10d/0x14e
    [&lt;c011ac85&gt;] tasklet_action+0x3d/0x68
    [&lt;c011abba&gt;] __do_softirq+0x41/0x92
    [&lt;c011ac32&gt;] do_softirq+0x27/0x3d
    [&lt;c0105134&gt;] do_IRQ+0x7b/0x8f
    [&lt;c0103dec&gt;] common_interrupt+0x24/0x34
    [&lt;c0103df6&gt;] common_interrupt+0x2e/0x34
    [&lt;c0248e65&gt;] acpi_processor_idle+0x1b3/0x34a
    [&lt;c0248e68&gt;] acpi_processor_idle+0x1b6/0x34a
    [&lt;c010232b&gt;] cpu_idle+0x39/0x4e
    [&lt;c04bab0c&gt;] start_kernel+0x372/0x37a
    [&lt;c04ba42b&gt;] unknown_bootoption+0x0/0x202
    [&lt;ffffffff&gt;] 0xffffffff

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
[Bluetooth] Fix socket locking in hci_sock_dev_event()

hci_sock_dev_event() uses bh_lock_sock() to lock the socket lock.
This is not deadlock-safe against locking of the same socket lock in
l2cap_connect_cfm() from softirq context. In addition to that,
hci_sock_dev_event() doesn't seem to be called from softirq context,
so it is safe to use lock_sock()/release_sock() instead.

The lockdep warning can be triggered on my T42p simply by switching
the Bluetooth off by the keyboard button.

  =================================
  [ INFO: inconsistent lock state ]
  2.6.21-rc2 #4
  ---------------------------------
  inconsistent {in-softirq-W} -&gt; {softirq-on-W} usage.
  khubd/156 [HC0[0]:SC0[0]:HE1:SE1] takes:
   (slock-AF_BLUETOOTH){-+..}, at: [&lt;e0ca5520&gt;] hci_sock_dev_event+0xa8/0xc5 [bluetooth]
  {in-softirq-W} state was registered at:
    [&lt;c012d1db&gt;] mark_lock+0x59/0x414
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;c012dfd7&gt;] __lock_acquire+0x3e5/0xb99
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;c012e7f2&gt;] lock_acquire+0x67/0x81
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;c036ee72&gt;] _spin_lock+0x29/0x34
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;e0cef688&gt;] l2cap_connect_cfm+0x4e/0x11f [l2cap]
    [&lt;e0ca17c3&gt;] hci_send_cmd+0x126/0x14f [bluetooth]
    [&lt;e0ca4ce4&gt;] hci_event_packet+0x729/0xebd [bluetooth]
    [&lt;e0ca205b&gt;] hci_rx_task+0x2a/0x20f [bluetooth]
    [&lt;e0ca209d&gt;] hci_rx_task+0x6c/0x20f [bluetooth]
    [&lt;c012d7be&gt;] trace_hardirqs_on+0x10d/0x14e
    [&lt;c011ac85&gt;] tasklet_action+0x3d/0x68
    [&lt;c011abba&gt;] __do_softirq+0x41/0x92
    [&lt;c011ac32&gt;] do_softirq+0x27/0x3d
    [&lt;c0105134&gt;] do_IRQ+0x7b/0x8f
    [&lt;c0103dec&gt;] common_interrupt+0x24/0x34
    [&lt;c0103df6&gt;] common_interrupt+0x2e/0x34
    [&lt;c0248e65&gt;] acpi_processor_idle+0x1b3/0x34a
    [&lt;c0248e68&gt;] acpi_processor_idle+0x1b6/0x34a
    [&lt;c010232b&gt;] cpu_idle+0x39/0x4e
    [&lt;c04bab0c&gt;] start_kernel+0x372/0x37a
    [&lt;c04ba42b&gt;] unknown_bootoption+0x0/0x202
    [&lt;ffffffff&gt;] 0xffffffff

Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
Acked-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bluetooth] Make use of device_move() for RFCOMM TTY devices</title>
<updated>2007-02-26T19:42:41+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2007-02-17T22:58:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=c1a3313698895d8ad4760f98642007bf236af2e8'/>
<id>c1a3313698895d8ad4760f98642007bf236af2e8</id>
<content type='text'>
In the case of bound RFCOMM TTY devices the parent is not available
before its usage. So when opening a RFCOMM TTY device, move it to
the corresponding ACL device as a child. When closing the device,
move it back to the virtual device tree.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the case of bound RFCOMM TTY devices the parent is not available
before its usage. So when opening a RFCOMM TTY device, move it to
the corresponding ACL device as a child. When closing the device,
move it back to the virtual device tree.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bluetooth] Add open and close callbacks for HID device</title>
<updated>2007-02-26T19:42:39+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2007-02-17T22:58:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=f5ffd4620aba9e55656483ae1ef5c79ba81f5403'/>
<id>f5ffd4620aba9e55656483ae1ef5c79ba81f5403</id>
<content type='text'>
The open and close callbacks for the HID device are not optional, but
for the Bluetooth HID report mode support it is enough to add empty
dummy callbacks.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The open and close callbacks for the HID device are not optional, but
for the Bluetooth HID report mode support it is enough to add empty
dummy callbacks.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bluetooth] Add support for using the HID subsystem</title>
<updated>2007-02-26T19:42:38+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2007-02-17T22:58:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=e1aaadd4d8162a2c33e41dd5a72234ea4d3b014f'/>
<id>e1aaadd4d8162a2c33e41dd5a72234ea4d3b014f</id>
<content type='text'>
This patch extends the current Bluetooth HID support to use the new
HID subsystem and adds full report mode support.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch extends the current Bluetooth HID support to use the new
HID subsystem and adds full report mode support.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[Bluetooth] Fix wrong put_user() from HIDP compat ioctl patch</title>
<updated>2007-02-26T19:42:35+00:00</updated>
<author>
<name>Marcel Holtmann</name>
<email>marcel@holtmann.org</email>
</author>
<published>2007-02-17T22:58:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=a83d6c0de8811d7bcc4eb67ed199d1120ca6cad8'/>
<id>a83d6c0de8811d7bcc4eb67ed199d1120ca6cad8</id>
<content type='text'>
The compat ioctl patch copied the parser version field into the
report descriptor size field by mistake.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The compat ioctl patch copied the parser version field into the
report descriptor size field by mistake.

Signed-off-by: Marcel Holtmann &lt;marcel@holtmann.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[PATCH] remove many unneeded #includes of sched.h</title>
<updated>2007-02-14T16:09:54+00:00</updated>
<author>
<name>Tim Schmielau</name>
<email>tim@physik3.uni-rostock.de</email>
</author>
<published>2007-02-14T08:33:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=cd354f1ae75e6466a7e31b727faede57a1f89ca5'/>
<id>cd354f1ae75e6466a7e31b727faede57a1f89ca5</id>
<content type='text'>
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there.  Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.

To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.

Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm.  I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).

Signed-off-by: Tim Schmielau &lt;tim@physik3.uni-rostock.de&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After Al Viro (finally) succeeded in removing the sched.h #include in module.h
recently, it makes sense again to remove other superfluous sched.h includes.
There are quite a lot of files which include it but don't actually need
anything defined in there.  Presumably these includes were once needed for
macros that used to live in sched.h, but moved to other header files in the
course of cleaning it up.

To ease the pain, this time I did not fiddle with any header files and only
removed #includes from .c-files, which tend to cause less trouble.

Compile tested against 2.6.20-rc2 and 2.6.20-rc2-mm2 (with offsets) on alpha,
arm, i386, ia64, mips, powerpc, and x86_64 with allnoconfig, defconfig,
allmodconfig, and allyesconfig as well as a few randconfigs on x86_64 and all
configs in arch/arm/configs on arm.  I also checked that no new warnings were
introduced by the patch (actually, some warnings are removed that were emitted
by unnecessarily included header files).

Signed-off-by: Tim Schmielau &lt;tim@physik3.uni-rostock.de&gt;
Acked-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET] BLUETOOTH: Fix whitespace errors.</title>
<updated>2007-02-11T07:19:20+00:00</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
<email>yoshfuji@linux-ipv6.org</email>
</author>
<published>2007-02-09T14:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=8e87d14255acffeee36873de226dc25c11b5f46d'/>
<id>8e87d14255acffeee36873de226dc25c11b5f46d</id>
<content type='text'>
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
