Potentially different semantics of hidraw's write() between USB and Bluetooth transfer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

when testing hidraw's hid-example.c
(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/samples/hidraw/hid-example.c)
with a Bluetooth HID device, I noticed that the write() call always
returns 0 on success, even though the entire buffer has been written and
received by the device.
Following the chain of calls triggered by the call to write(), I
identified hidp_send_message in /net/bluetooth/hidp/core.c:98
(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/bluetooth/hidp/core.c#n98)
as the plausible origin of the return value. This function always
returns 0 on success, regardless of the value of its parameter size.

Could you confirm whether this function is really the one used to handle
writes to Bluetooth HID devices? If so, is it intended behavior to have
write() return the number of bytes written for USB HID devices, but not
for Bluetooth HID devices?



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux