/* TOD: jo ez az Idle/Flag Change valamire? - azonnal latszik belole hogy mikor ad a masik oldal */
/* TOD: ilyen IT most nem is jon, mert ki van maszkolva az interrupt, biztosan kell ez? */
if(int_info.all&PCM_INT_FO)
/* Internal buffer (RB) overrun */
ch->stats.rx_over_errors++;/* TOD: Ez azt jelenti hogy a belso RB nem volt hozzaferheto, es ezert kihagyott valamit. De nem csak csomag lehetett, hanem esemeny, stb. is. lasd page 247. Ezzel a 'cat status'-hoz igazodok, de a netdevice.h szerint nem egyertelmu hogy ide ez kellene. Nem lehet hogy rx_missed ? */
/* DE: nem gotozok sehova, elvileg jo igy */
/* kesobb meg visszaterek az FO-ra, ha packet-FO volt. Keresd a "packet-FO"-t. */
if(int_info.all&PCM_INT_FI)/* frame received, but we do not trust the int_info queue */
if(int_info.all&PCM_INT_SF)
{/* Short Frame: rovidebb mint a CRC */
/* "rovidebb mint CRC+2byte" vizsgalat a "CRC+2"-nel */
ch->stats.rx_length_errors++;/* TOD: noveljem? ne noveljem? */
gotogo_for_next_interrupt;
}
go_for_next_interrupt:/* One step in the interrupt queue */
board->riq[board->riq_ptr].all=0;/* megjelolom hogy itt meg nem jart a hw */
board->riq_ptr=(board->riq_ptr+1)%MUNICH_INTQMAX;
}
/* Check every Rx ring for incomed packets: */
for(channel=0;channel<32;channel++)
{
dev=board->twins[channel];
if(dev!=NULL)
{
ch=netdev_priv(dev);
hw=(structslicecom_privdata*)ch->HW_privdata;
rx_status=hw->rx_desc[hw->rx_desc_ptr].status;
if(!(rx_status&0x80))/* mar jart itt a hardver */
{
ack&=~STAT_PRI;/* Don't ack, we had some work */
/* Ez most egy kicsit zuros, mert itt mar nem latom az int_infot */
hw->rafutott++;/* rafutott: hanyszor volt olyan hogy a current descriptoron HOLD bit volt, es a hw mar befejezte az irast (azaz a hw rafutott a HOLD bitre) */
}
// if( jiffies % 2 ) /* DELL: okozzunk egy kis Rx ring slipet :) */
// {
/* Step forward with the receive descriptors: */
/* if you change this, change the copy of it below too! Search for: "RxSlip" */