return 0;
 }
 
-static void linux_wlan_rx_complete(void)
+void linux_wlan_rx_complete(void)
 {
        PRINT_D(RX_DBG, "RX completed\n");
 }
        nwi->io_func.u.spi.spi_trx = linux_spi_write_read;
        nwi->io_func.u.spi.spi_max_speed = linux_spi_set_max_speed;
 #endif
-
-       /*for now - to be revised*/
-       nwi->net_func.rx_complete = linux_wlan_rx_complete;
 }
 
 int wlan_initialize_threads(perInterface_wlan_t *nic)
 
 extern struct net_device *WILC_WFI_devs[];
 void frmw_to_linux(u8 *buff, u32 size, u32 pkt_offset);
 void linux_wlan_mac_indicate(int flag);
+void linux_wlan_rx_complete(void);
 
 #endif
 
         **/
        wilc_wlan_os_func_t os_func;
        wilc_wlan_io_func_t io_func;
-       wilc_wlan_net_func_t net_func;
 
        /**
         *      host interface functions
                kfree(rqe);
 
                if (has_packet) {
-                       if (p->net_func.rx_complete)
-                               p->net_func.rx_complete();
+                       linux_wlan_rx_complete();
                }
        } while (1);
 
         **/
        memcpy((void *)&g_wlan.os_func, (void *)&inp->os_func, sizeof(wilc_wlan_os_func_t));
        memcpy((void *)&g_wlan.io_func, (void *)&inp->io_func, sizeof(wilc_wlan_io_func_t));
-       memcpy((void *)&g_wlan.net_func, (void *)&inp->net_func, sizeof(wilc_wlan_net_func_t));
        g_wlan.hif_lock = inp->os_context.hif_critical_section;
        g_wlan.txq_lock = inp->os_context.txq_critical_section;
 
 
        } u;
 } wilc_wlan_io_func_t;
 
-typedef struct {
-       void (*rx_complete)(void);
-} wilc_wlan_net_func_t;
-
 #define WILC_MAC_INDICATE_STATUS       0x1
 #define WILC_MAC_STATUS_INIT           -1
 #define WILC_MAC_STATUS_READY          0
        wilc_wlan_os_context_t os_context;
        wilc_wlan_os_func_t os_func;
        wilc_wlan_io_func_t io_func;
-       wilc_wlan_net_func_t net_func;
 } wilc_wlan_inp_t;
 
 struct tx_complete_data {