code: def cmd_link_remove(self, args):
          '''remove an link'''
          device = args[0]
          if len(self.mpstate.mav_master) <= 1:
              print("Not removing last link")
              return
          i = self.find_link(device)
          if i is None:
              return
          conn = self.mpstate.mav_master[i]
          print("Removing link %s" % conn.address)
          try:
              try:
                  mp_util.child_fd_list_remove(conn.port.fileno())
              except Exception:
                  pass
              self.mpstate.mav_master[i].close()
          except Exception as msg:
              print(msg)
              pass
          self.mpstate.mav_master.pop(i)
          self.status.counters['MasterIn'].pop(i)
          # renumber the links
          for j in range(len(self.mpstate.mav_master)):
              conn = self.mpstate.mav_master[j]
              conn.linknum = f cmd_link_remove(self, args):
          '''remove an link'''
          device = args[0]
          if len(self.mpstate.mav_master) <= 1:
              print("Not removing last link")
              return
          i = self.find_link(device)
          if i is None:
              return
          conn = self.mpstate.mav_master[i]
          print("Removing link %s" % conn.address)
          try:
              try:
                  mp_util.child_fd_list_remove(conn.port.fileno())
              except Exception:
                  pass
              self.mpstate.mav_master[i].close()
          except Exception as msg:
              print(msg)
              pass
          self.mpstate.mav_master.pop(i)
          self.status.counters['MasterIn'].pop(i)
          # renumber the links
          for j in range(len(self.mpstate.mav_master)):
              conn = self.mpstate.mav_master[j]
              conn.linknum = j
docs: remove an link