//---------------------------------------------------------------------------
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);
}