} while (inb(iobase+UART_LSR) & UART_LSR_DR); 
} while (inb(iobase + UART_LSR) & UART_LSR_DR); 
static void smsc_ircc_sir_receive(struct smsc_ircc_cb *self){	int boguscount = 0;	int iobase;	IRDA_ASSERT(self != NULL, return;);	iobase = self->io.sir_base;	/*	 * Receive all characters in Rx FIFO, unwrap and unstuff them.         * async_unwrap_char will deliver all found frames	 */	do {		async_unwrap_char(self->netdev, &self->stats, &self->rx_buff,				  inb(iobase+UART_RX));		/* Make sure we don't stay here to long */		if (boguscount++ > 32) {			IRDA_DEBUG(2, "%s(), breaking!\n", __FUNCTION__);			break;		}	} while (inb(iobase+UART_LSR) & UART_LSR_DR);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/98b7777331d4344821e900040da5d1d3016d9e67/smsc-ircc2.c/clean/drivers/net/irda/smsc-ircc2.c