From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephan Linz Date: Tue, 28 Oct 2003 19:31:47 +0100 Subject: [U-Boot-Users] AGAIN: need help for LAN91C111 driver Message-ID: <03102819314708.02205@pcj86> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi all, I've found unexpected code inside of smc_send_packet() in file drivers/smc91111.c (near line 585-590): /* send the packet length ( +6 for status, length and ctl byte ) and the status word ( set to zeros ) */ #ifdef USE_32_BIT SMC_outl ((length + 6) << 16, SMC91111_DATA_REG); #else SMC_outw (0, SMC91111_DATA_REG); /* send the packet length ( +6 for status words, length, and ctl */ SMC_outw ((length + 6), SMC91111_DATA_REG); #endif This code assembles the header of a data frame for transmission. My SMSC manual says about the BYTE COUNTER: "... alway even ...", Hmm , this code will put in even and odd length arguments. "length" should be replaced with "(length & 0xfffe)", the same code at top of function for page number calculation. What's your opinion? Best regards -- Mit freundlichen Gruessen Stephan Linz ====================================================================== Stephan Linz Softwareentwicklung MAZeT GmbH Email: mailto:linz@mazet.de G?schwitzer Str. 32 Tel. : (3641) 2809-55 D-07745 Jena Fax : (3641) 2809-12 Besuchen Sie bitte unsere Web-Seiten: http://www.MAZeT.de ======================================================================