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