From: Tomoyoshi A. <as...@li...> - 2000-09-18 06:42:54
|
Hello YAEGASHI-san, I use this patch for SMSC LAN91C100FD on HSA ASPEN board. This patch is for linux-2.2.17. I think this patch has almost the same as your patch. Thanks, Tom -- On Mon, 18 Sep 2000 15:11:41 +0900 YAEGASHI Takeshi <yae...@ma...> wrote: > smc9194.c is known not to work well on SuperH because of its > unaligned memory access. This change seems to be enough for my > own SH-4 board. > > I believe here are many users of this driver. Any comments? > > -- > YAEGASHI Takeshi <yae...@ma...> > > > Index: drivers/net/smc9194.c > =================================================================== > RCS file: /cvsroot/thorondor/kernel/drivers/net/smc9194.c,v > retrieving revision 1.1.1.5 > retrieving revision 1.2 > diff -u -r1.1.1.5 -r1.2 > --- drivers/net/smc9194.c 2000/09/02 16:01:29 1.1.1.5 > +++ drivers/net/smc9194.c 2000/09/17 00:59:53 1.2 > @@ -87,7 +87,11 @@ > . Do you want to use 32 bit xfers? This should work on all chips, as > . the chipset is designed to accommodate them. > */ > +#ifdef __sh__ > +#undef USE_32_BIT > +#else > #define USE_32_BIT 1 > +#endif > > /* > .the SMC9194 can be at any of the following port addresses. To change, > @@ -1405,13 +1409,11 @@ > packet_length & 0x3 ); > #else > PRINTK3((" Reading %d words and %d byte(s) \n", > - (packet_length >> 1 ), packet_length & 1 ); > - if ( packet_length & 1 ) > - *(data++) = inb( ioaddr + DATA_1 ); > - insw(ioaddr + DATA_1 , data, (packet_length + 1 ) >> 1); > + (packet_length >> 1 ), packet_length & 1 )); > + insw(ioaddr + DATA_1 , data, packet_length >> 1); > if ( packet_length & 1 ) { > data += packet_length & ~1; > - *((data++) = inb( ioaddr + DATA_1 ); > + *(data++) = inb( ioaddr + DATA_1 ); > } > #endif > #if SMC_DEBUG > 2 > _______________________________________________ > linuxsh-dev mailing list > lin...@li... > http://lists.sourceforge.net/mailman/listinfo/linuxsh-dev |