FreeBSD/sys/dev/isci/scil/scic_sds_controller.c
/**
 * @brief This method frees the remote node index back to the available
 *        pool.  Once this is done the remote node context buffer is no
 *        longer valid and can not be used.
 *
 * @param[in] this_controller
 * @param[in] the_device
 * @param[in] node_id
 *
 * @return none
 */
@brief This method frees the remote node index back to the available
pool.  Once this is done the remote node context buffer is no
longer valid and can not be used.



@return none
@brief This method frees the remote node index back to the available pool . Once this is done the remote node context buffer is no longer valid and can not be used . @return none
void scic_sds_controller_free_remote_node_context(
   SCIC_SDS_CONTROLLER_T    * this_controller,
   SCIC_SDS_REMOTE_DEVICE_T * the_device,
   U16                        node_id
)
{
   U32 remote_node_count = scic_sds_remote_device_node_count(the_device);
   if (this_controller->device_table[node_id] == the_device)
   {
      this_controller->device_table[node_id] = SCI_INVALID_HANDLE;
      scic_sds_remote_node_table_release_remote_node_index(
         &this_controller->available_remote_nodes, remote_node_count, node_id
      );
   }
}
void scic_sds_controller_free_remote_node_context ( SCIC_SDS_CONTROLLER_T * this_controller , SCIC_SDS_REMOTE_DEVICE_T * the_device , U16 node_id ) { U32 remote_node_count = scic_sds_remote_device_node_count ( the_device ) ; if ( this_controller -> device_table [ node_id ] == the_device ) { this_controller -> device_table [ node_id ] = SCI_INVALID_HANDLE ; scic_sds_remote_node_table_release_remote_node_index ( & this_controller -> available_remote_nodes , remote_node_count , node_id ) ; } }
@brief This method frees the remote node index back to the available
        pool.
@brief This method frees the remote node index back to the available pool .