- 08 11月, 2011 1 次提交
-
-
由 Luiz Augusto von Dentz 提交于
When all items in the list have the same type there is no much of a point to use list_for_each except if you want to use the list pointer itself. Signed-off-by: NLuiz Augusto von Dentz <luiz.von.dentz@intel.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 07 10月, 2011 10 次提交
-
-
由 Gustavo F. Padovan 提交于
hidp_get_connection() makes more sense because we hold a reference to the connection inside this function. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
It gets allocated only when it is really needed. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Peter Hurley 提交于
Claim device lock to safely enumerate hci connection list and bump hci connection proxy device ref count simultaneously. This patch incorporates David Herrmann's fix to prevent adding an HID device when the hci connection no longer exists. Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NPeter Hurley <peter@hurleysoftware.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
d458a9df add this check, but now it proves to be wrong. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
This is a regression fix. It made impossible use input device when hid fails. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
interrupt channel is low latency. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
Interrupt channel has low latency requiments, should be processed first. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Gustavo F. Padovan 提交于
list_for_each_entry is much more meaningful. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 David Herrmann 提交于
Current hidp driver purges the in/out queue on HID shutdown, but does not prevent further I/O. If a driver uses hidp_output_raw_report or hidp_get_raw_report during shutdown, the driver hangs for 5 or 10 seconds per call until it gets a timeout. That is, if the output queue of an HID driver has 10 messages pending, it will take 50s until hid_destroy_device() will return. The hidp_session_sem semaphore is held during shutdown so no other HID device may be added/removed during this time. This patch makes hidp_output_raw_report and hidp_get_raw_report fail if session->terminate is true. Also hidp_session will wakeup all current calls to these functions to cancel the current operations. We already purge the current I/O queues on hidp_stop(), so this data loss does not change the behaviour of the HID drivers. Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 28 9月, 2011 1 次提交
-
-
由 Mat Martineau 提交于
Fragmented skbs are only encountered when receiving ERTM or streaming mode L2CAP data. BNEP, CMTP, HIDP, and RFCOMM generally use basic mode, but they need to handle fragments without crashing. Signed-off-by: NMat Martineau <mathewm@codeaurora.org> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 21 9月, 2011 1 次提交
-
-
由 David Herrmann 提交于
During setup the host initializes all HID reports. Some devices do not support this. If this quirk is set, we skip the initialization. See also usbhid_init_reports() for this quirk. Signed-off-by: NDavid Herrmann <dh.herrmann@googlemail.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 12 8月, 2011 4 次提交
-
-
由 Peter Hurley 提交于
When an hidp connection is added for a boot protocol input device, don't release a device reference that was never acquired. The device reference is acquired when the session is linked to the session list (which hasn't happened yet when hidp_setup_input is called). Signed-off-by: NPeter Hurley <peter@hurleysoftware.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Peter Hurley 提交于
When an hidp connection is added for a boot protocol input device, only free the allocated device if device registration fails. Subsequent failures should only unregister the device (the input device api documents that unregister will also free the allocated device). Signed-off-by: NPeter Hurley <peter@hurleysoftware.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Peter Hurley 提交于
Free the cached HID report descriptor on thread terminate. Signed-off-by: NPeter Hurley <peter@hurleysoftware.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
由 Peter Hurley 提交于
Once the session thread is running, cleanup must be handled by the session thread only. Signed-off-by: NPeter Hurley <peter@hurleysoftware.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 01 7月, 2011 1 次提交
-
-
由 Peter Hurley 提交于
Partial revert of commit aabf6f89. When the hidp session thread was converted from kernel_thread to kthread, the atomic/wakeups were replaced with kthread_stop. kthread_stop has blocking semantics which are inappropriate for the hidp session kthread. In addition, the kthread signals itself to terminate in hidp_process_hid_control() - it cannot do this with kthread_stop(). Lastly, a wakeup can be lost if the wakeup happens between checking for the loop exit condition and setting the current state to TASK_INTERRUPTIBLE. (Without appropriate synchronization mechanisms, the task state should not be changed between the condition test and the yield - via schedule() - as this creates a race between the wakeup and resetting the state back to interruptible.) Signed-off-by: NPeter Hurley <peter@hurleysoftware.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 28 4月, 2011 1 次提交
-
-
由 Gustavo F. Padovan 提交于
In this commit, omtu, imtu, flush_to, mode and sport. It also remove the pi var from l2cap_sock_sendmsg(). Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 05 4月, 2011 1 次提交
-
-
由 Szymon Janc 提交于
kernel_thread() is a low-level implementation detail and EXPORT_SYMBOL(kernel_thread) is scheduled for removal. Use the <linux/kthread.h> API instead. Signed-off-by: NSzymon Janc <szymon.janc@tieto.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 01 4月, 2011 1 次提交
-
-
由 Szymon Janc 提交于
Signed-off-by: NSzymon Janc <szymon.janc@tieto.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 22 2月, 2011 1 次提交
-
-
由 Antonio Ospite 提交于
The current implementation of hidp_output_raw_report() relies only on the Control channel even for Output reports, and the BT HID specification [1] does not mention using the DATA message for Output reports on the Control channel (see section 7.9.1 and also Figure 11: SET_ Flow Chart), so let us just use SET_REPORT. This also fixes sending Output reports to some devices (like Sony Sixaxis) which are not able to handle DATA messages on the Control channel. Ideally hidp_output_raw_report() could be improved to use this scheme: Feature Report -- SET_REPORT on the Control channel Output Report -- DATA on the Interrupt channel for more efficiency, but as said above, right now only the Control channel is used. [1] http://www.bluetooth.com/Specification%20Documents/HID_SPEC_V10.pdfSigned-off-by: NAntonio Ospite <ospite@studenti.unina.it> Acked-by: NGustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 15 2月, 2011 1 次提交
-
-
由 Gustavo F. Padovan 提交于
l2cap_load() was added to trigger l2cap.ko module loading from the RFCOMM and BNEP modules. Now that L2CAP module is gone, we don't need it anymore. Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 11 2月, 2011 3 次提交
-
-
由 Alan Ott 提交于
This patch adds support or getting and setting feature reports for bluetooth HID devices from HIDRAW. Signed-off-by: NAlan Ott <alan@signal11.us> Acked-by: NGustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Alan Ott 提交于
Wait for an ACK from the device before returning from hidp_output_raw_report(). This way, failures can be returned to the user application. Also, it prevents ACK/NAK packets from an output packet from being confused with ACK/NAK packets from an input request packet. Signed-off-by: NAlan Ott <alan@signal11.us> Acked-by: NGustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
由 Alan Ott 提交于
Move the call to hid_add_device() (which calls a device's probe() function) to after the kernel_thread() call which starts the hidp_session() thread. This ensures the Bluetooth receive socket is fully running by the time a device's probe() function is called. This way, a device can communicate (send and receive) with the Bluetooth device from its probe() function. Signed-off-by: NAlan Ott <alan@signal11.us> Acked-by: NGustavo F. Padovan <padovan@profusion.mobi> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 08 2月, 2011 1 次提交
-
-
由 Andrei Emeltchenko 提交于
Fix checkpatch warnings concerning assignments in if conditions. Signed-off-by: NAndrei Emeltchenko <andrei.emeltchenko@nokia.com> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 02 12月, 2010 1 次提交
-
-
由 Vasiliy Kulikov 提交于
Structure hidp_conninfo is copied to userland with version, product, vendor and name fields unitialized if both session->input and session->hid are NULL. It leads to leaking of contents of kernel stack memory. Signed-off-by: NVasiliy Kulikov <segooon@gmail.com> Acked-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 12 10月, 2010 1 次提交
-
-
由 Gustavo F. Padovan 提交于
The Bluetooth core uses the the BD_ADDR in the opposite order from the human readable order. So we are changing batostr() to print in the correct order and then removing some baswap(), as they are not needed anymore. Acked-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NGustavo F. Padovan <padovan@profusion.mobi>
-
- 21 4月, 2010 1 次提交
-
-
由 Eric Dumazet 提交于
Define a new function to return the waitqueue of a "struct sock". static inline wait_queue_head_t *sk_sleep(struct sock *sk) { return sk->sk_sleep; } Change all read occurrences of sk_sleep by a call to this function. Needed for a future RCU conversion. sk_sleep wont be a field directly available. Signed-off-by: NEric Dumazet <eric.dumazet@gmail.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 06 2月, 2010 1 次提交
-
-
由 Michael Poole 提交于
The report descriptor is read by user space (via the Service Discovery Protocol), so it is only available during the ioctl to connect. However, the HID probe function that needs the descriptor might not be called until a specific module is loaded. Keep a copy of the descriptor so it is available for later use. Signed-off-by: NMichael Poole <mdpoole@troilus.org> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 03 2月, 2010 1 次提交
-
-
由 Jiri Kosina 提交于
In commit 2da31939 ("Bluetooth: Implement raw output support for HIDP layer"), support for Bluetooth hid_output_raw_report was added, but it pushes the data to the intr socket instead of the ctrl one. This has been fixed by 6bf8268f ("Bluetooth: Use the control channel for raw HID reports") Still, it is necessary to distinguish whether the report in question should be either FEATURE or OUTPUT. For this, we have to extend the generic HID API, so that hid_output_raw_report() callback provides means to specify this value so that it can be passed down to lower level hardware drivers (currently Bluetooth and USB). Based on original patch by Bastien Nocera <hadess@hadess.net> Acked-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 30 1月, 2010 1 次提交
-
-
由 Bastien Nocera 提交于
In commit 2da31939, support for Bluetooth hid_output_raw_report was added, but it pushes the data to the interrupt channel instead of the contol one. This patch makes hid_output_raw_report use the control channel instead. Using the interrupt channel was a mistake. Signed-off-by: NBastien Nocera <hadess@hadess.net> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 18 12月, 2009 1 次提交
-
-
由 Roel Kluin 提交于
Return the PTR_ERR of the correct pointer. Signed-off-by: NRoel Kluin <roel.kluin@gmail.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 04 12月, 2009 1 次提交
-
-
由 Jiri Kosina 提交于
Implement raw output callback which is used by hidraw to send raw data to the underlying device. Without this patch, the userspace hidraw-based applications can't send output reports to HID Bluetooth devices. Reported-and-tested-by: NBrian Gunn <bgunn@solekai.com> Signed-off-by: NJiri Kosina <jkosina@suse.cz> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 17 9月, 2009 1 次提交
-
-
由 Jiri Kosina 提交于
HID core registers input, hidraw and hiddev devices, but leaves unregistering it up to the individual driver, which is not really nice. Let's move all the logic to the core. Reported-by: NMarcel Holtmann <marcel@holtmann.org> Reported-by: NBrian Rogers <brian@xyzw.org> Acked-by: NMarcel Holtmann <marcel@holtmann.org> Signed-off-by: NJiri Kosina <jkosina@suse.cz>
-
- 23 8月, 2009 3 次提交
-
-
由 Marcel Holtmann 提交于
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: NMarcel Holtmann <marcel@holtmann.org>
-
由 Marcel Holtmann 提交于
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: NMarcel Holtmann <marcel@holtmann.org>
-
由 Vikram Kandukuri 提交于
There is a test case in PTS tool; PTS will send the VIRTUAL_CABLE_UNPLUG command to IUT. Then IUT should disconnect the channel and kill the HID session when it receives the command. The VIRTUAL_CABLE_UNPLUG command is parsed by HID transport, but it is not scheduled to do so. Add a call to hidp_schedule() to kill the session. Signed-off-by: NJothikumar Mothilal <jothikumar.mothilal@atheros.com> Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-
- 30 11月, 2008 1 次提交
-
-
由 Marcel Holtmann 提交于
With the introduction of CONFIG_DYNAMIC_PRINTK_DEBUG it is possible to allow debugging without having to recompile the kernel. This patch turns all BT_DBG() calls into pr_debug() to support dynamic debug messages. As a side effect all CONFIG_BT_*_DEBUG statements are now removed and some broken debug entries have been fixed. Signed-off-by: NMarcel Holtmann <marcel@holtmann.org>
-