Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 4497 → Rev 4498

/branches/network/uspace/srv/net/netif/dp8390/dp8390.c
351,7 → 351,7
if (dep->de_mode == DEM_SINK)
{
assert(!from_int);
dep->de_flags |= DEF_PACK_SEND;
// dep->de_flags |= DEF_PACK_SEND;
reply(dep, OK, FALSE);
// return;
return EOK;
358,23 → 358,24
}
assert(dep->de_mode == DEM_ENABLED);
assert(dep->de_flags & DEF_ENABLED);
if (dep->de_flags & DEF_SEND_AVAIL){
if( dep->packet_queue && ( ! from_int )){
// if (dep->de_flags & DEF_SEND_AVAIL){
// panic("", "dp8390: send already in progress", NO_NUM);
return queue_packet( dep, packet );
}
 
sendq_head= dep->de_sendq_head;
if (dep->de_sendq[sendq_head].sq_filled)
{
if (from_int)
panic("", "dp8390: should not be sending\n", NO_NUM);
// if (dep->de_sendq[sendq_head].sq_filled)
// {
// if (from_int)
// panic("", "dp8390: should not be sending\n", NO_NUM);
// dep->de_sendmsg= *mp;
dep->de_flags |= DEF_SEND_AVAIL;
reply(dep, OK, FALSE);
// dep->de_flags |= DEF_SEND_AVAIL;
// reply(dep, OK, FALSE);
// return;
return queue_packet( dep, packet );
}
assert(!(dep->de_flags & DEF_PACK_SEND));
// return queue_packet( dep, packet );
// }
// assert(!(dep->de_flags & DEF_PACK_SEND));
 
/* if (vectored)
{
430,7 → 431,7
assert(sendq_head < SENDQ_NR);
dep->de_sendq_head= sendq_head;
 
dep->de_flags |= DEF_PACK_SEND;
// dep->de_flags |= DEF_PACK_SEND;
 
/* If the interrupt handler called, don't send a reply. The reply
* will be sent after all interrupts are handled.
720,7 → 721,7
outb_reg0(dep, DP_TBCR0, size & 0xff);
outb_reg0(dep, DP_CR, CR_TXP | CR_EXTRA);
}
if (dep->de_flags & DEF_SEND_AVAIL)
// if (dep->de_flags & DEF_SEND_AVAIL)
dp_send(dep);
}
 
883,11 → 884,10
{
packet_t packet;
 
if (!(dep->de_flags & DEF_SEND_AVAIL))
return;
// if (!(dep->de_flags & DEF_SEND_AVAIL))
// return;
 
dep->de_flags &= ~DEF_SEND_AVAIL;
while( dep->packet_queue ){
if( dep->packet_queue ){
packet = dep->packet_queue;
dep->packet_queue = pq_detach( packet );
do_pwrite( dep, packet, TRUE );
894,6 → 894,9
netif_pq_release( packet_get_id( packet ));
-- dep->packet_count;
}
// if( ! dep->packet_queue ){
// dep->de_flags &= ~DEF_SEND_AVAIL;
// }
/* switch(dep->de_sendmsg.m_type)
{
case DL_WRITE: do_vwrite(&dep->de_sendmsg, TRUE, FALSE); break;
1557,7 → 1560,7
panic("", "dp8390: send failed:", r);
*/ dep->de_read_s = 0;
dep->de_flags &= ~(DEF_PACK_SEND | DEF_PACK_RECV);
// dep->de_flags &= ~(DEF_PACK_SEND | DEF_PACK_RECV);
}
 
/*===========================================================================*