bluetooth: hidp_process_hid_control remove unnecessary parameter dealing
Subsystems (3)
PATCH 1/7 bluetooth: hidp_process_hid_control remove unnecessary parameter dealing
From: Dave Young <[email protected]>
According to the bluetooth HID spec v1.0 chapter 7.4.2
"This code requests a major state change in a BT-HID device. A HID_CONTROL request does not generate a HANDSHAKE response."
"A HID_CONTROL packet with a parameter of VIRTUAL_CABLE_UNPLUG is the only HID_CONTROL packet a device can send to a host. A host will ignore all other packets."
So in the hidp_precess_hid_control function, we just need to deal with the UNLUG packet.
---
net/bluetooth/hidp/core.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-)
net/bluetooth/hidp/core.c renamed from net/bluetooth/hidp/core.c~bluetooth-hidp_process_hid_control-remove-unnecessary-parameter-dealing +1 -18
@@ -369,30 +369,13 @@ static inline void hidp_process_hid_cont {BT_DBG ("session %p param 0x%02x" , session, param); -switch (param) { -case HIDP_CTRL_NOP : -break ; - -case HIDP_CTRL_VIRTUAL_CABLE_UNPLUG : +if (param ==HIDP_CTRL_VIRTUAL_CABLE_UNPLUG ) {/* Flush the transmit queues */ skb_queue_purge (&session->ctrl_transmit);skb_queue_purge (&session->intr_transmit);/* Kill session thread */ atomic_inc (&session->terminate); -break ; - -case HIDP_CTRL_HARD_RESET : -case HIDP_CTRL_SOFT_RESET : -case HIDP_CTRL_SUSPEND : -case HIDP_CTRL_EXIT_SUSPEND : -/* FIXME: We have to parse these and return no error */ -break ; - -default : -__hidp_send_ctrl_message (session, -HIDP_TRANS_HANDSHAKE |HIDP_HSHK_ERR_INVALID_PARAMETER ,NULL ,0 ); -break ; } }
_
From: [email protected]
Date: Mon, 04 Feb 2008 23:48:13 -0800
Quoted 11 lines
From: Dave Young <[email protected]>
According to the bluetooth HID spec v1.0 chapter 7.4.2
"This code requests a major state change in a BT-HID device. A
HID_CONTROLrequest does not generate a HANDSHAKE response.""A
HID_CONTROLpacket with a parameter ofVIRTUAL_CABLE_UNPLUGis the onlyHID_CONTROLpacket a device can send to a host. A host will ignore all other packets."
Quoted 6 lines
So in the
hidp_precess_hid_controlfunction, we just need to deal with the UNLUG packet.Signed-off-by Dave Young <[email protected]>Cc Marcel Holtmann <[email protected]>Signed-off-by Andrew Morton <[email protected]>
Applied.