git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Usermode/libnet - Fix IPV4 parsing code to use stroul
[tpg/acess2.git]
/
KernelLand
/
Modules
/
Network
/
E1000
/
e1000.c
diff --git
a/KernelLand/Modules/Network/E1000/e1000.c
b/KernelLand/Modules/Network/E1000/e1000.c
index
01a5a6a
..
600f334
100644
(file)
--- a/
KernelLand/Modules/Network/E1000/e1000.c
+++ b/
KernelLand/Modules/Network/E1000/e1000.c
@@
-64,6
+64,7
@@
int E1000_Install(char **Arguments)
// Allocate card array
gaE1000_Cards = calloc(sizeof(tCard), card_count);
if( !gaE1000_Cards ) {
// Allocate card array
gaE1000_Cards = calloc(sizeof(tCard), card_count);
if( !gaE1000_Cards ) {
+ Log_Warning("E1000", "Allocation of %i card structures failed", card_count);
return MODULE_ERR_MALLOC;
}
return MODULE_ERR_MALLOC;
}
@@
-88,6
+89,7
@@
int E1000_Install(char **Arguments)
Log_Debug("E1000", "Card %i: %P IRQ %i", card_idx, card->MMIOBasePhys, card->IRQ);
if( E1000_int_InitialiseCard(card) ) {
Log_Debug("E1000", "Card %i: %P IRQ %i", card_idx, card->MMIOBasePhys, card->IRQ);
if( E1000_int_InitialiseCard(card) ) {
+ Log_Warning("E1000", "Initialisation of card #%i failed", card_idx);
return MODULE_ERR_MALLOC;
}
return MODULE_ERR_MALLOC;
}
@@
-205,6
+207,7
@@
int E1000_SendPacket(void *Ptr, tIPStackBuffer *Buffer)
int txd = first_txd;
while( (idx = IPStack_Buffer_GetBuffer(Buffer, idx, &len, &ptr)) != -1 )
{
int txd = first_txd;
while( (idx = IPStack_Buffer_GetBuffer(Buffer, idx, &len, &ptr)) != -1 )
{
+ //Debug_HexDump("E100 SendPacket", ptr, len);
if( MM_GetPhysAddr(ptr) + len-1 != MM_GetPhysAddr((char*)ptr + len-1) )
{
size_t remlen = PAGE_SIZE - ((tVAddr)ptr & (PAGE_SIZE-1));
if( MM_GetPhysAddr(ptr) + len-1 != MM_GetPhysAddr((char*)ptr + len-1) )
{
size_t remlen = PAGE_SIZE - ((tVAddr)ptr & (PAGE_SIZE-1));
@@
-354,8
+357,15
@@
void E1000_IRQHandler(int Num, void *Ptr)
{
}
{
}
+
+ // Receive Descriptor Minimum Threshold Reached
+ // - We're reading too slow
+ if( icr & ICR_RXDMT0 )
+ {
+ LOG("RX descs running out");
+ }
- icr &= ~(ICR_RXT0|ICR_LSC|ICR_TXQE|ICR_TXDW|ICR_TXD_LOW);
+ icr &= ~(ICR_RXT0|ICR_LSC|ICR_TXQE|ICR_TXDW|ICR_TXD_LOW
|ICR_RXDMT0
);
if( icr )
Log_Warning("E1000", "Unhandled ICR bits 0x%x", icr);
}
if( icr )
Log_Warning("E1000", "Unhandled ICR bits 0x%x", icr);
}
UCC
git Repository :: git.ucc.asn.au