Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 470f0240 authored by Chris Manton's avatar Chris Manton
Browse files

legacy: Update rfc mx/port sm with proper event types

Bug: 188297862
Test: gd/cert/run
Tag: #refactor

Change-Id: I723450565bdd043ee4b937ed39c09ce1bf65d4af
parent 683cf589
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -258,7 +258,8 @@ extern void rfc_mx_sm_execute(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
/*
 * Functions provided by the rfc_port_fsm.cc
*/
extern void rfc_port_sm_execute(tPORT* p_port, uint16_t event, void* p_data);
extern void rfc_port_sm_execute(tPORT* p_port, tRFC_PORT_EVENT event,
                                void* p_data);

extern void rfc_process_pn(tRFC_MCB* p_rfc_mcb, bool is_command,
                           MX_FRAME* p_frame);
+17 −15
Original line number Diff line number Diff line
@@ -39,18 +39,19 @@
/******************************************************************************/
/*            L O C A L    F U N C T I O N     P R O T O T Y P E S            */
/******************************************************************************/
static void rfc_mx_sm_state_idle(tRFC_MCB* p_mcb, uint16_t event, void* p_data);
static void rfc_mx_sm_state_wait_conn_cnf(tRFC_MCB* p_mcb, uint16_t event,
static void rfc_mx_sm_state_idle(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                 void* p_data);
static void rfc_mx_sm_state_configure(tRFC_MCB* p_mcb, uint16_t event,
static void rfc_mx_sm_state_wait_conn_cnf(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                          void* p_data);
static void rfc_mx_sm_sabme_wait_ua(tRFC_MCB* p_mcb, uint16_t event,
static void rfc_mx_sm_state_configure(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                      void* p_data);
static void rfc_mx_sm_state_wait_sabme(tRFC_MCB* p_mcb, uint16_t event,
static void rfc_mx_sm_sabme_wait_ua(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                    void* p_data);
static void rfc_mx_sm_state_connected(tRFC_MCB* p_mcb, uint16_t event,
static void rfc_mx_sm_state_wait_sabme(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                       void* p_data);
static void rfc_mx_sm_state_connected(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                      UNUSED_ATTR void* p_data);
static void rfc_mx_sm_state_disc_wait_ua(tRFC_MCB* p_mcb, uint16_t event,
static void rfc_mx_sm_state_disc_wait_ua(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                         void* p_data);

static void rfc_mx_send_config_req(tRFC_MCB* p_mcb);
@@ -121,8 +122,7 @@ void rfc_mx_sm_execute(tRFC_MCB* p_mcb, tRFC_MX_EVENT event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_state_idle(tRFC_MCB* p_mcb, uint16_t event, void* p_data) {
  RFCOMM_TRACE_EVENT("%s: evt %d", __func__, event);
void rfc_mx_sm_state_idle(tRFC_MCB* p_mcb, tRFC_MX_EVENT event, void* p_data) {
  switch (event) {
    case RFC_MX_EVENT_START_REQ: {
      /* Initialize L2CAP MTU */
@@ -187,7 +187,7 @@ void rfc_mx_sm_state_idle(tRFC_MCB* p_mcb, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_state_wait_conn_cnf(tRFC_MCB* p_mcb, uint16_t event,
void rfc_mx_sm_state_wait_conn_cnf(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                   void* p_data) {
  RFCOMM_TRACE_EVENT("%s: evt %d", __func__, event);
  switch (event) {
@@ -273,7 +273,8 @@ void rfc_mx_sm_state_wait_conn_cnf(tRFC_MCB* p_mcb, uint16_t event,
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_state_configure(tRFC_MCB* p_mcb, uint16_t event, void* p_data) {
void rfc_mx_sm_state_configure(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                               void* p_data) {
  RFCOMM_TRACE_EVENT("%s: event %d", __func__, event);
  switch (event) {
    case RFC_MX_EVENT_START_REQ:
@@ -321,7 +322,7 @@ void rfc_mx_sm_state_configure(tRFC_MCB* p_mcb, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_sabme_wait_ua(tRFC_MCB* p_mcb, uint16_t event,
void rfc_mx_sm_sabme_wait_ua(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                             UNUSED_ATTR void* p_data) {
  RFCOMM_TRACE_EVENT("%s: event %d", __func__, event);
  switch (event) {
@@ -385,7 +386,8 @@ void rfc_mx_sm_sabme_wait_ua(tRFC_MCB* p_mcb, uint16_t event,
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_state_wait_sabme(tRFC_MCB* p_mcb, uint16_t event, void* p_data) {
void rfc_mx_sm_state_wait_sabme(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                void* p_data) {
  RFCOMM_TRACE_EVENT("%s: event %d", __func__, event);
  switch (event) {
    case RFC_MX_EVENT_DISC_IND:
@@ -450,7 +452,7 @@ void rfc_mx_sm_state_wait_sabme(tRFC_MCB* p_mcb, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_state_connected(tRFC_MCB* p_mcb, uint16_t event,
void rfc_mx_sm_state_connected(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                               UNUSED_ATTR void* p_data) {
  RFCOMM_TRACE_EVENT("%s: event %d", __func__, event);

@@ -495,7 +497,7 @@ void rfc_mx_sm_state_connected(tRFC_MCB* p_mcb, uint16_t event,
 * Returns          void
 *
 ******************************************************************************/
void rfc_mx_sm_state_disc_wait_ua(tRFC_MCB* p_mcb, uint16_t event,
void rfc_mx_sm_state_disc_wait_ua(tRFC_MCB* p_mcb, tRFC_MX_EVENT event,
                                  void* p_data) {
  BT_HDR* p_buf;

+19 −13
Original line number Diff line number Diff line
@@ -45,16 +45,19 @@ static const std::set<uint16_t> uuid_logging_acceptlist = {
/******************************************************************************/
/*            L O C A L    F U N C T I O N     P R O T O T Y P E S            */
/******************************************************************************/
static void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event,
static void rfc_port_sm_state_closed(tPORT* p_port, tRFC_PORT_EVENT event,
                                     void* p_data);
static void rfc_port_sm_sabme_wait_ua(tPORT* p_port, uint16_t event,
static void rfc_port_sm_sabme_wait_ua(tPORT* p_port, tRFC_PORT_EVENT event,
                                      void* p_data);
static void rfc_port_sm_opened(tPORT* p_port, uint16_t event, void* p_data);
static void rfc_port_sm_orig_wait_sec_check(tPORT* p_port, uint16_t event,
static void rfc_port_sm_opened(tPORT* p_port, tRFC_PORT_EVENT event,
                               void* p_data);
static void rfc_port_sm_term_wait_sec_check(tPORT* p_port, uint16_t event,
static void rfc_port_sm_orig_wait_sec_check(tPORT* p_port,
                                            tRFC_PORT_EVENT event,
                                            void* p_data);
static void rfc_port_sm_disc_wait_ua(tPORT* p_port, uint16_t event,
static void rfc_port_sm_term_wait_sec_check(tPORT* p_port,
                                            tRFC_PORT_EVENT event,
                                            void* p_data);
static void rfc_port_sm_disc_wait_ua(tPORT* p_port, tRFC_PORT_EVENT event,
                                     void* p_data);

static void rfc_port_uplink_data(tPORT* p_port, BT_HDR* p_buf);
@@ -71,7 +74,7 @@ static void rfc_set_port_state(tPORT_STATE* port_pars, MX_FRAME* p_frame);
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_execute(tPORT* p_port, uint16_t event, void* p_data) {
void rfc_port_sm_execute(tPORT* p_port, tRFC_PORT_EVENT event, void* p_data) {
  CHECK(p_port != nullptr) << __func__ << ": NULL port event " << event;
  VLOG(1) << __func__ << ": BD_ADDR=" << p_port->bd_addr
          << ", PORT=" << std::to_string(p_port->handle)
@@ -115,7 +118,8 @@ void rfc_port_sm_execute(tPORT* p_port, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event, void* p_data) {
void rfc_port_sm_state_closed(tPORT* p_port, tRFC_PORT_EVENT event,
                              void* p_data) {
  uint32_t scn = (uint32_t)(p_port->dlci / 2);
  switch (event) {
    case RFC_PORT_EVENT_OPEN:
@@ -199,7 +203,8 @@ void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_sabme_wait_ua(tPORT* p_port, uint16_t event, void* p_data) {
void rfc_port_sm_sabme_wait_ua(tPORT* p_port, tRFC_PORT_EVENT event,
                               void* p_data) {
  switch (event) {
    case RFC_PORT_EVENT_OPEN:
    case RFC_PORT_EVENT_ESTABLISH_RSP:
@@ -289,7 +294,7 @@ void rfc_port_sm_sabme_wait_ua(tPORT* p_port, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_term_wait_sec_check(tPORT* p_port, uint16_t event,
void rfc_port_sm_term_wait_sec_check(tPORT* p_port, tRFC_PORT_EVENT event,
                                     void* p_data) {
  switch (event) {
    case RFC_PORT_EVENT_SEC_COMPLETE:
@@ -375,7 +380,7 @@ void rfc_port_sm_term_wait_sec_check(tPORT* p_port, uint16_t event,
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_orig_wait_sec_check(tPORT* p_port, uint16_t event,
void rfc_port_sm_orig_wait_sec_check(tPORT* p_port, tRFC_PORT_EVENT event,
                                     void* p_data) {
  switch (event) {
    case RFC_PORT_EVENT_SEC_COMPLETE:
@@ -433,7 +438,7 @@ void rfc_port_sm_orig_wait_sec_check(tPORT* p_port, uint16_t event,
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_opened(tPORT* p_port, uint16_t event, void* p_data) {
void rfc_port_sm_opened(tPORT* p_port, tRFC_PORT_EVENT event, void* p_data) {
  switch (event) {
    case RFC_PORT_EVENT_OPEN:
      RFCOMM_TRACE_ERROR("Port error state %d event %d", p_port->rfc.state,
@@ -524,7 +529,8 @@ void rfc_port_sm_opened(tPORT* p_port, uint16_t event, void* p_data) {
 * Returns          void
 *
 ******************************************************************************/
void rfc_port_sm_disc_wait_ua(tPORT* p_port, uint16_t event, void* p_data) {
void rfc_port_sm_disc_wait_ua(tPORT* p_port, tRFC_PORT_EVENT event,
                              void* p_data) {
  switch (event) {
    case RFC_PORT_EVENT_OPEN:
    case RFC_PORT_EVENT_ESTABLISH_RSP: