|
@@ -369,30 +369,13 @@ static inline void hidp_process_hid_control(struct hidp_session *session, unsign
|
|
{
|
|
{
|
|
BT_DBG("session %p param 0x%02x", session, param);
|
|
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 */
|
|
/* Flush the transmit queues */
|
|
skb_queue_purge(&session->ctrl_transmit);
|
|
skb_queue_purge(&session->ctrl_transmit);
|
|
skb_queue_purge(&session->intr_transmit);
|
|
skb_queue_purge(&session->intr_transmit);
|
|
|
|
|
|
/* Kill session thread */
|
|
/* Kill session thread */
|
|
atomic_inc(&session->terminate);
|
|
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;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|