rem: LWIP_DEBUGF(NETIF_DEBUG,("__bba_link_rx(rx interrupt close)\n"));
add: __bba_post_send();
context: static u32 __bba_link_rx(){	u32 top,pos,pkt_status,size,ret;	cur_rcv_len0 = 0;	cur_rcv_len1 = 0;		while(rrp!=rwp) {		LWIP_DEBUGF(NETIF_DEBUG,("__bba_link_rx(%04x,%04x)\n",rrp,rwp));		bba_ins(rrp<<8,&cur_descr,sizeof(cur_descr));		le32_to_cpus((u32*)&cur_descr);				size = cur_descr.packet_len - 4;		pkt_status = cur_descr.status;		if(size>(BBA_RX_MAX_PACKET_SIZE+4) || (pkt_status&(BBA_RX_STATUS_RERR|BBA_RX_STATUS_FAE))) {			__bba_rx_err(pkt_status);			bba_out8(BBA_IR,BBA_IR_RI);			bba_cmd_out8(0x02,BBA_CMD_IRMASKNONE);			EXI_Unlock(EXI_CHANNEL_0);			return ERR_PKTSIZE;		}		pos = (rrp<<8)+4;		top = (BBA_INIT_RHBP+1)<<8;		if((pos+size)<top) {			cur_rcv_len0 = size;			cur_rcv_len1 = 0;		} else {			cur_rcv_len0 = top - pos;			cur_rcv_len1 = size - cur_rcv_len0;		}				ret = __bba_link_rxsub0(pos);		return ret;	}	bba_out12(BBA_RRP,rwp);	if(__bba_link_postrx(gc_netif,cur_rcv_buf)==ERR_TXPENDING) return ERR_OK;	bba_out8(BBA_IR,BBA_IR_RI);	bba_cmd_out8(0x02,BBA_CMD_IRMASKNONE);	EXI_Unlock(EXI_CHANNEL_0);		LWIP_DEBUGF(NETIF_DEBUG,("__bba_link_rx(rx interrupt close)\n"));	return ERR_OK;}