#define MAX_ADDR_STR 32
 
-static struct media media_list[MAX_MEDIA];
+static struct media *media_list[MAX_MEDIA];
 static u32 media_count;
 
 struct tipc_bearer tipc_bearers[MAX_BEARERS];
 
 static struct media *media_find(const char *name)
 {
-       struct media *m_ptr;
        u32 i;
 
-       for (i = 0, m_ptr = media_list; i < media_count; i++, m_ptr++) {
-               if (!strcmp(m_ptr->name, name))
-                       return m_ptr;
+       for (i = 0; i < media_count; i++) {
+               if (!strcmp(media_list[i]->name, name))
+                       return media_list[i];
        }
        return NULL;
 }
        u32 i;
 
        for (i = 0; i < media_count; i++) {
-               if (media_list[i].type_id == type)
-                       return &media_list[i];
+               if (media_list[i]->type_id == type)
+                       return media_list[i];
        }
        return NULL;
 }
                goto exit;
        }
 
-       media_list[media_count] = *m_ptr;
+       media_list[media_count] = m_ptr;
        media_count++;
        res = 0;
 exit:
        u32 i;
 
        media_type = ntohl(a->type);
-       for (i = 0, m_ptr = media_list; i < media_count; i++, m_ptr++) {
-               if (m_ptr->type_id == media_type)
-                       break;
-       }
+       m_ptr = media_find_id(media_type);
 
-       if ((i < media_count) && (m_ptr->addr2str != NULL)) {
+       if (m_ptr && (m_ptr->addr2str != NULL)) {
                char addr_str[MAX_ADDR_STR];
 
                tipc_printf(pb, "%s(%s)", m_ptr->name,
 struct sk_buff *tipc_media_get_names(void)
 {
        struct sk_buff *buf;
-       struct media *m_ptr;
        int i;
 
        buf = tipc_cfg_reply_alloc(MAX_MEDIA * TLV_SPACE(TIPC_MAX_MEDIA_NAME));
                return NULL;
 
        read_lock_bh(&tipc_net_lock);
-       for (i = 0, m_ptr = media_list; i < media_count; i++, m_ptr++) {
-               tipc_cfg_append_tlv(buf, TIPC_TLV_MEDIA_NAME, m_ptr->name,
-                                   strlen(m_ptr->name) + 1);
+       for (i = 0; i < media_count; i++) {
+               tipc_cfg_append_tlv(buf, TIPC_TLV_MEDIA_NAME,
+                                   media_list[i]->name,
+                                   strlen(media_list[i]->name) + 1);
        }
        read_unlock_bh(&tipc_net_lock);
        return buf;
 struct sk_buff *tipc_bearer_get_names(void)
 {
        struct sk_buff *buf;
-       struct media *m_ptr;
        struct tipc_bearer *b_ptr;
        int i, j;
 
                return NULL;
 
        read_lock_bh(&tipc_net_lock);
-       for (i = 0, m_ptr = media_list; i < media_count; i++, m_ptr++) {
+       for (i = 0; i < media_count; i++) {
                for (j = 0; j < MAX_BEARERS; j++) {
                        b_ptr = &tipc_bearers[j];
-                       if (b_ptr->active && (b_ptr->media == m_ptr)) {
+                       if (b_ptr->active && (b_ptr->media == media_list[i])) {
                                tipc_cfg_append_tlv(buf, TIPC_TLV_BEARER_NAME,
                                                    b_ptr->name,
                                                    strlen(b_ptr->name) + 1);