--- 3c90x.c.original Sat May 24 10:54:43 2003 +++ 3c90x.c Mon May 26 13:55:02 2003 @@ -1,7 +1,7 @@ /* * 3c90x.c -- This file implements the 3c90x driver for etherboot. Written * by Greg Beeley, address@hidden Modified by Steve Smith, - * address@hidden + * address@hidden Alignment bug fix Neil Newell (address@hidden). * * This program Copyright (C) 1999 LightSys Technology Services, Inc. * Portions Copyright (C) 1999 Steve Smith @@ -31,6 +31,9 @@ * Re-wrote poll and transmit for * better error recovery and heavy * network traffic operation + * v2.01 5-26-2993 NN Fixed driver alignment issue which + * caused system lockups if driver structures + * not 8-byte aligned. * */ @@ -225,7 +228,7 @@ unsigned int DataAddr; unsigned int DataLength; } - TXD; + TXD __attribute__ ((aligned(8))); /* 64-bit aligned for bus mastering */ /*** RX descriptor ***/ typedef struct @@ -235,7 +238,7 @@ unsigned int DataAddr; unsigned int DataLength; } - RXD; + RXD __attribute__ ((aligned(8))); /* 64-bit aligned for bus mastering */ /*** Global variables ***/ static struct