updated network driver to v2.8 with fixes related to Fusion

This commit is contained in:
Henryk Richter
2020-06-23 19:47:28 +02:00
parent 0be8ed6658
commit f62afb7167
11 changed files with 26 additions and 7 deletions
+2
View File
@@ -67,6 +67,8 @@ PRIORITY=PRI/K/N,BPS/K/N,MTU/K/N,FULLDUPLEX/S,FLOWCONTROL/S,TIMER/K/N,MULTICAST/
Changelog: Changelog:
---------- ----------
2.8 - some workarounds for Fusion
2.7 - fixed MuForce hit 2.7 - fixed MuForce hit
2.4 - added second semaphore, specifically for the write list 2.4 - added second semaphore, specifically for the write list
+2
View File
@@ -188,6 +188,8 @@ TIMER/K/N,MULTICAST/S
Changelog: Changelog:
---------- ----------
2.8 - some workarounds for Fusion
2.7 - fixed Enforcer hit 2.7 - fixed Enforcer hit
2.6 - more sanity checks to avoid a hanging driver in situations 2.6 - more sanity checks to avoid a hanging driver in situations
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -2
View File
@@ -27,8 +27,8 @@ compiler_vcc = 0
# prefix for system includes (ASM) # prefix for system includes (ASM)
# native AmigaOS compilation: set PREFX=GG: or PREFX=ADE:, depending on toolchain # native AmigaOS compilation: set PREFX=GG: or PREFX=ADE:, depending on toolchain
############################################################################### ###############################################################################
PREFX = /opt/amigaos-68k/ #PREFX = /opt/amigaos-68k/
#PREFX = gg: PREFX = gg:
SYSINC = $(PREFX)os-include SYSINC = $(PREFX)os-include
############################################################################### ###############################################################################
+12 -2
View File
@@ -93,9 +93,9 @@ const ULONG blub[6] = {
}; };
/* enable heavy debug (D2=beginIO) */ /* enable heavy debug (D2=beginIO) */
//#define D2(x) #define D2(x)
#define D4(x) #define D4(x)
#define D2(x) D(x) /* #define D2(x) D(x) */
/* #define D4(x) D(x) */ /* #define D4(x) D(x) */
@@ -193,7 +193,10 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
ok = 1; ok = 1;
if( (db->db_Units[unit].du_OpenCount > 0) && if( (db->db_Units[unit].du_OpenCount > 0) &&
(flags & SANA2OPF_MINE) ) (flags & SANA2OPF_MINE) )
{
ok = 0; ok = 0;
D(("DevOpen fail: OpenCount is >0 and SANA2OPF_MINE requested."));
}
#if 0 #if 0
if( (db->db_Units[unit].du_OpenCount > 0) && if( (db->db_Units[unit].du_OpenCount > 0) &&
(flags & SANA2OPF_PROM) ) (flags & SANA2OPF_PROM) )
@@ -201,7 +204,10 @@ ASM SAVEDS LONG DevOpen( ASMR(a1) struct IOSana2Req *ioreq ASMREG(a1),
#endif #endif
if( db->db_Units[unit].du_Flags & DUF_EXCLUSIVE ) if( db->db_Units[unit].du_Flags & DUF_EXCLUSIVE )
{
ok = 0; ok = 0;
D(("DevOpen fail: device was opened already with exclusive flag set."));
}
if( ok ) if( ok )
ok = hw_AllocBoard( db, unit ); ok = hw_AllocBoard( db, unit );
@@ -953,6 +959,7 @@ havetype:
if( !(rd = dbAddReader(db,unit,frametype,type,ID ) )) if( !(rd = dbAddReader(db,unit,frametype,type,ID ) ))
return; /* bail out, no mem left */ return; /* bail out, no mem left */
havereader: havereader:
D(("dbAddReadReq type %ld to unit %ld ID %ld\n",frametype,unit,ID));
ADDTAIL( &rd->snr_Requests , (struct Node*)ioreq ); ADDTAIL( &rd->snr_Requests , (struct Node*)ioreq );
@@ -993,6 +1000,9 @@ static struct SanaReader *dbAddReader( DEVBASEP, ULONG unit, ULONG frametype, st
return (0); return (0);
rd->snr_ID = ID; rd->snr_ID = ID;
D(("dbAddReader %ld to unit %ld ID %ld\n",frametype,unit,ID));
dbNewList( &rd->snr_Requests ); dbNewList( &rd->snr_Requests );
if( (GetHead( &type->srt_Readers ) )) if( (GetHead( &type->srt_Readers ) ))
+5 -1
View File
@@ -53,8 +53,10 @@ static LONG server_queryext( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq );
/* heavy debug on read/write */ /* heavy debug on read/write */
#define D2(x) #define D2(x)
#define D4(x) #define D4(x)
#define D8(x)
/* #define D2(x) D(x) */ /* #define D2(x) D(x) */
/* #define D4(x) D(x) */ /* #define D4(x) D(x) */
/* #define D8(x) D(x) */
@@ -920,14 +922,16 @@ static void server_read_frame( DEVBASEP, ULONG unit, struct IOSana2Req *ioreq, U
{ {
frame += 14; /* skip DST,SRC,Type */ frame += 14; /* skip DST,SRC,Type */
framesize -= 18; /* also remove CRC */ framesize -= 18; /* also remove CRC */
// framesize -= 14; /* test: KEEP CRC */
D4(("plain mode: frame flags %ld\n",bcflag)); D4(("plain mode: frame flags %ld\n",bcflag));
} }
ioreq->ios2_Req.io_Flags &= SANA2IOF_RAW; /* ignore all other flags */ ioreq->ios2_Req.io_Flags &= SANA2IOF_RAW; /* ignore all other flags */
ioreq->ios2_Req.io_Flags |= bcflag; ioreq->ios2_Req.io_Flags |= bcflag;
ioreq->ios2_Req.io_Error = 0; ioreq->ios2_Req.io_Error = 0;
ioreq->ios2_WireError = 0; ioreq->ios2_WireError = 0;
ioreq->ios2_DataLength = framesize;
D4(("ReadFrm IO %lx, DBM %lx frm %lx frmsz %ld\n",(ULONG)ioreq,(ULONG)dbm,(ULONG)frame,framesize)); D8(("ReadFrm IO %lx, DBM %lx frm %lx frmsz %ld Flags %ld\n",(ULONG)ioreq,(ULONG)dbm,(ULONG)frame,framesize,(ULONG)ioreq->ios2_Req.io_Flags));
if( dbm->dbm_PacketFilter ) /* Filter Packets ? */ if( dbm->dbm_PacketFilter ) /* Filter Packets ? */
{ {
+1
View File
@@ -87,6 +87,7 @@ IPATH =
# see all: target for defaults in $(DEFINES) # see all: target for defaults in $(DEFINES)
DEFINES = $(DEFINES1) CPU=$(CPU) DEFINES = $(DEFINES1) CPU=$(CPU)
DEFINES = $(DEFINES) DEFINE ALLREADREQS=1
#DEFINES = $(DEFINES) DEFINE DEVICEVERSION=$(DEVICEVERSION) #DEFINES = $(DEFINES) DEFINE DEVICEVERSION=$(DEVICEVERSION)
#DEFINES = $(DEFINES) DEFINE DEVICEREVISION=$(DEVICEREVISION) #DEFINES = $(DEFINES) DEFINE DEVICEREVISION=$(DEVICEREVISION)
#DEFINES = $(DEFINES) DEFINE DEVICEDATE=$(DEVICEDATE) #DEFINES = $(DEFINES) DEFINE DEVICEDATE=$(DEVICEDATE)
+2 -2
View File
@@ -9,9 +9,9 @@
#define _INC_VERSION_H #define _INC_VERSION_H
#define DEVICEVERSION 2 #define DEVICEVERSION 2
#define DEVICEREVISION 7 #define DEVICEREVISION 8
#define DEVICEEXTRA #define DEVICEEXTRA
/* #define DEVICEEXTRA Beta */ /* #define DEVICEEXTRA Beta */
#define DEVICEDATE 11.02.20 #define DEVICEDATE 25.05.20
#endif #endif