Forwarding a patch I recieved from a NSLU2-linux developer.
Regards, Øyvind Repvik -------- Original Message -------- Subject: Patch for zd1211 Date: Mon, 1 May 2006 10:16:08 -0500 From: Mike (mwester) <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> CC: Mike Westerhof <[EMAIL PROTECTED]> Here's the bug that's been in the driver for some time now. One little overlooked "endian" problem... If you're wondering why "CurFrmLen" instead of "le32_to_cpu(rfd->ActualCount)" -- I went back to the original source from Zydas, and they were using the construct rfd->ActualCount throughout that section of code. When the "endian" fix was performed for the zd1211, the author of the "endian" fix observed that "CurFrmLen" == "le32_to_cpu(rfd->ActualCount)" and that using the former was far more efficient. I merely followed that author's approach and used "CurFrmLen" as well. The point of all of this is that I think this patch should be accepted by the zd1211 group as-is --- so if you agree, could you submit it? I fixed it in the r74 version of the driver; so I commited a new .bb file along with the patch. The bug is present in the r67 version as well, but I did not add the patch to that .bb file. I also commited some truely horrible hacks specific to unslung along with this fix. Finally, there remains an alignment issue (per /proc/cpu/alignment). And it locks up badly when put under very heavy load, such as NFS (there's a post in the archives of the zd1211 group mailing list that describes exactly what happens, so this is a known problem). Mike --- zd1211-driver-r67/src/zd1211.c~ 2006-02-16 15:33:51.000000000 -0600 +++ zd1211-driver-r67/src/zd1211.c 2006-04-30 22:47:13.000000000 -0500 @@ -2228,7 +2228,7 @@ if (CurFrmLen & 0x03) tmpLen += 4; - rfd->ActualCount += macp->rxOffset; + rfd->ActualCount = cpu_to_le32(CurFrmLen + macp->rxOffset); } } else { // last_pkt_len = 509, 510, 511 ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642 _______________________________________________ Zd1211-devs mailing list - http://zd1211.ath.cx/ Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs