//--------------------------------------------------------------------------- //void nasmt_interrupt(void){ void *nasmt_interrupt(void){ //--------------------------------------------------------------------------- uint8_t cxi; char *buffer = NULL; #ifdef NAS_DEBUG_INTERRUPT printk("nasmt_interrupt - begin\n"); #endif //spin_lock(&gpriv->lock); cxi=0; nasmt_COMMON_QOS_receive(gpriv->cx+cxi); nasmt_ASCTL_GC_receive(buffer); nasmt_ASCTL_DC_receive(gpriv->cx+cxi, buffer); //spin_unlock(&gpriv->lock); #ifdef NAS_DEBUG_INTERRUPT printk("nasmt_interrupt: end\n"); #endif }
// This can also be implemented using thread to get the data from PDCP without blocking. //--------------------------------------------------------------------------- // Function for transfer with PDCP (from NASLITE) static void nasmt_nl_data_ready (struct sk_buff *skb) { //--------------------------------------------------------------------------- struct nlmsghdr *nlh = NULL; // Start debug information #ifdef NETLINK_DEBUG printk("nasmt_nl_data_ready - begin \n"); #endif if (!skb) { printk("nasmt_nl_data_ready - input parameter skb is NULL \n"); return; } // End debug information #ifdef NETLINK_DEBUG printk("nasmt_nl_data_ready - Received socket from PDCP\n"); #endif //NETLINK_DEBUG nlh = (struct nlmsghdr *)skb->data; nasmt_COMMON_QOS_receive(nlh); }