rpms/kvm/F-7 kvm-rtl8139-checksum.patch, NONE, 1.1 kvm.spec, 1.14, 1.15 qemu-0.9.0-load-initrd.patch, 1.1, NONE

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Thu Sep 27 03:06:04 UTC 2007


Author: berrange

Update of /cvs/extras/rpms/kvm/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv815

Modified Files:
	kvm.spec 
Added Files:
	kvm-rtl8139-checksum.patch 
Removed Files:
	qemu-0.9.0-load-initrd.patch 
Log Message:
Fixed rtl8139 checksum calculation for Vista (rhbz #308201)

kvm-rtl8139-checksum.patch:

--- NEW FILE kvm-rtl8139-checksum.patch ---
diff -rup kvm-35.orig/qemu/hw/rtl8139.c kvm-35.new/qemu/hw/rtl8139.c
--- kvm-35.orig/qemu/hw/rtl8139.c	2007-09-26 19:49:44.000000000 -0400
+++ kvm-35.new/qemu/hw/rtl8139.c	2007-09-26 19:50:08.000000000 -0400
@@ -53,9 +53,8 @@
 /* debug RTL8139 card C+ mode only */
 //#define DEBUG_RTL8139CP 1
 
-/* RTL8139 provides frame CRC with received packet, this feature seems to be
-   ignored by most drivers, disabled by default */
-//#define RTL8139_CALCULATE_RXCRC 1
+/* Calculate CRCs properly on Rx packets */
+#define RTL8139_CALCULATE_RXCRC 1
 
 /* Uncomment to enable on-board timer interrupts */
 //#define RTL8139_ONBOARD_TIMER 1
@@ -754,7 +753,7 @@ static void rtl8139_write_buffer(RTL8139
         int wrapped = MOD2(s->RxBufAddr + size, s->RxBufferSize);
 
         /* write packet data */
-        if (wrapped && s->RxBufferSize < 65536 && !rtl8139_RxWrap(s))
+        if (wrapped && !(s->RxBufferSize < 65536 && rtl8139_RxWrap(s)))
         {
             DEBUG_PRINT((">>> RTL8139: rx packet wrapped in buffer at %d\n", size-wrapped));
 
@@ -1030,7 +1029,7 @@ static void rtl8139_do_receive(void *opa
 
         /* write checksum */
 #if defined (RTL8139_CALCULATE_RXCRC)
-        val = cpu_to_le32(crc32(~0, buf, size));
+        val = cpu_to_le32(crc32(0, buf, size));
 #else
         val = 0;
 #endif
@@ -1136,7 +1135,7 @@ static void rtl8139_do_receive(void *opa
 
         /* write checksum */
 #if defined (RTL8139_CALCULATE_RXCRC)
-        val = cpu_to_le32(crc32(~0, buf, size));
+        val = cpu_to_le32(crc32(0, buf, size));
 #else
         val = 0;
 #endif


Index: kvm.spec
===================================================================
RCS file: /cvs/extras/rpms/kvm/F-7/kvm.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- kvm.spec	21 Aug 2007 17:23:49 -0000	1.14
+++ kvm.spec	27 Sep 2007 03:05:30 -0000	1.15
@@ -1,8 +1,8 @@
 Summary: Kernel-based Virtual Machine
 Name: kvm
 Version: 35
-Release: 2%{?dist}
-License: GPLv2 and LGPLv2
+Release: 3%{?dist}
+License: GPLv2+, LGPLv2+
 Group: Development/Tools
 URL: http://kvm.sf.net
 Source0: http://download.sourceforge.net/sourceforge/kvm/kvm-%{version}.tar.gz
@@ -12,6 +12,7 @@
 # patches from upstream qemu
 Patch101: kvm-rtl8139-mmio-regions.patch
 Patch102: qemu-atapi-hsm.patch
+Patch103: kvm-rtl8139-checksum.patch
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: SDL-devel 
 # qemu doesn't build with gcc 4.x
@@ -39,6 +40,7 @@
 
 %patch101 -p1
 %patch102 -p0
+%patch103 -p1
 
 %build
 ./configure --with-patched-kernel --qemu-cc=gcc34 --kerneldir=$(pwd)/kernel --prefix=%{_prefix}
@@ -83,6 +85,9 @@
 %{_sysconfdir}/sysconfig/modules/kvm.modules
 
 %changelog
+* Wed Sep 26 2007 Daniel P. Berrange <berrange at redhat.com> - 35-3.fc7
+- Fixed rtl8139 checksum calculation for Vista (rhbz #308201)
+
 * Mon Aug 20 2007 Jeremy Katz <katzj at redhat.com> - 35-2
 - add fix for ATAPI from upstream qemu
 


--- qemu-0.9.0-load-initrd.patch DELETED ---




More information about the fedora-extras-commits mailing list