diff --git a/profiles/network/bnep.c b/profiles/network/bnep.c
index 54b9500..8d4786d 100644
--- a/profiles/network/bnep.c
+++ b/profiles/network/bnep.c
bnep_if_down(iface);
bnep_conndel(addr);
}
+
+int bnep_send_unkown_rsp(int sk, uint16_t resp)
+{
+ return bnep_send_ctrl_rsp(sk, BNEP_CMD_NOT_UNDERSTOOD,
+ resp);
+}
diff --git a/profiles/network/bnep.h b/profiles/network/bnep.h
index 493a2b0..61971ae 100644
--- a/profiles/network/bnep.h
+++ b/profiles/network/bnep.h
int bnep_server_add(int sk, char *bridge, char *iface, const bdaddr_t *addr,
uint8_t *setup_data, int len);
void bnep_server_delete(char *bridge, char *iface, const bdaddr_t *addr);
+int bnep_send_unkown_rsp(int sk, uint16_t resp);
+
diff --git a/profiles/network/server.c b/profiles/network/server.c
index 96738f2..36a1136 100644
--- a/profiles/network/server.c
+++ b/profiles/network/server.c
* 1 byte of BNEP Control Type + 1 byte of BNEP services UUID size.
*/
if (n < 3) {
+
+ /* Added a response to the error control command
+ * This packet reply to any control message received,
+ * which contains an unknown BNEP control type value.
+ */
+ if (req->ctrl == BNEP_CONTROL)
+ bnep_send_unkown_rsp(sk, req->ctrl);
+
error("To few setup connection request data received");
return FALSE;
}