static void h3600_micro_rx_chars( void ) { unsigned int status, ch; while ( (status = Ser1UTSR1) & UTSR1_RNE ) { ch = Ser1UTDR; g_statistics.rx++; if ( status & UTSR1_PRE ) { /* Parity error */ g_statistics.parity++; } else if ( status & UTSR1_FRE ) { /* Framing error */ g_statistics.frame++; } else { if ( status & UTSR1_ROR ) /* Overrun error */ g_statistics.overrun++; h3600_micro_process_char( ch ); } } }
static void h3600_micro_rx_chars( void ) { unsigned int status, ch; while ( (status = Ser1UTSR1) & UTSR1_RNE ) { ch = Ser1UTDR; /*statistics.rx++;*/ if ( status & UTSR1_PRE ) { /* Parity error */ printk(KERN_ERR "h3600_micro_rx : parity error\n"); /*statistics.parity++;*/ } else if ( status & UTSR1_FRE ) { /* Framing error */ printk(KERN_ERR "h3600_micro_rx : framing error\n"); /*statistics.frame++;*/ } else { if ( status & UTSR1_ROR ) { /* Overrun error */ printk(KERN_ERR "h3600_micro_rx : overrun error\n"); /*statistics.overrun++;*/ } h3600_micro_process_char(ch); } } }