rpms/kernel/F-9 patch-2.6.27.5.bz2.sign, NONE, 1.1 .cvsignore, 1.831, 1.832 kernel.spec, 1.840, 1.841 linux-2.6-upstream-reverts.patch, 1.13, 1.14 sources, 1.792, 1.793 upstream, 1.711, 1.712 linux-2.6-input-dell-keyboard-keyup.patch, 1.1, NONE linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch, 1.1, NONE linux-2.6-net-tcp-option-ordering.patch, 1.1, NONE linux-2.6-r8169-fix-RxMissed-register-access.patch, 1.1, NONE linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch, 1.1, NONE linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch, 1.1, NONE linux-2.6-sched-features-disable-hrtick.patch, 1.1, NONE linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards, 1.1, NONE linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch, 1.1, NONE linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch, 1.3, NONE linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch, 1.1, NONE linux-2.6.27-acpi-ec-drizzle.patch, 1.1, NONE linux-2.6.27.5-stable-queue-reverts.patch, 1.1, NONE linux-2.6.27.5-stable-queue.patch, 1.1, NONE patch-2.6.27.4.bz2.sign, 1.1, NONE

Chuck Ebbert cebbert at fedoraproject.org
Fri Nov 7 22:20:47 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6233

Modified Files:
	.cvsignore kernel.spec linux-2.6-upstream-reverts.patch 
	sources upstream 
Added Files:
	patch-2.6.27.5.bz2.sign 
Removed Files:
	linux-2.6-input-dell-keyboard-keyup.patch 
	linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch 
	linux-2.6-net-tcp-option-ordering.patch 
	linux-2.6-r8169-fix-RxMissed-register-access.patch 
	linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch 
	linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch 
	linux-2.6-sched-features-disable-hrtick.patch 
	linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards 
	linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch 
	linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch 
	linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch 
	linux-2.6.27-acpi-ec-drizzle.patch 
	linux-2.6.27.5-stable-queue-reverts.patch 
	linux-2.6.27.5-stable-queue.patch patch-2.6.27.4.bz2.sign 
Log Message:
Linux 2.6.27.5
  Dropped Patches:
    linux-2.6-sched-features-disable-hrtick.patch
    linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
    linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
    linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
    linux-2.6-acpi-clear-wake-status.patch
    linux-2.6-acpi-ignore-reset_reg_sup.patch
    linux-2.6-net-tcp-option-ordering.patch
    linux-2.6-input-dell-keyboard-keyup.patch
    linux-2.6.27-acpi-ec-drizzle.patch
    linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
    linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
    linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch


--- NEW FILE patch-2.6.27.5.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBJFIVSyGugalF9Dw4RAt5eAJ91snaoYe6LlPcekhH0NKt+aRF3BgCfQIHg
aqOtuth+CaDki6koyxLC3OM=
=vet/
-----END PGP SIGNATURE-----


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/.cvsignore,v
retrieving revision 1.831
retrieving revision 1.832
diff -u -r1.831 -r1.832
--- .cvsignore	30 Oct 2008 04:41:10 -0000	1.831
+++ .cvsignore	7 Nov 2008 22:20:15 -0000	1.832
@@ -4,4 +4,4 @@
 temp-*
 kernel-2.6.27
 linux-2.6.27.tar.bz2
-patch-2.6.27.4.bz2
+patch-2.6.27.5.bz2


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/kernel.spec,v
retrieving revision 1.840
retrieving revision 1.841
diff -u -r1.840 -r1.841
--- kernel.spec	7 Nov 2008 21:32:21 -0000	1.840
+++ kernel.spec	7 Nov 2008 22:20:15 -0000	1.841
@@ -36,7 +36,7 @@
 %if 0%{?released_kernel}
 
 # Do we have a -stable update to apply?
-%define stable_update 4
+%define stable_update 5
 # Is it a -stable RC?
 %define stable_rc 0
 # Set rpm version accordingly
@@ -595,18 +595,14 @@
 Patch09: linux-2.6-upstream-reverts.patch
 Patch10: linux-2.6-hotfixes.patch
 # patches queued for the next -stable release
-Patch11: linux-2.6.27.5-stable-queue.patch
-Patch12: linux-2.6.27.5-stable-queue-reverts.patch
+#Patch11: linux-2.6.27.5-stable-queue.patch
+#Patch12: linux-2.6.27.5-stable-queue-reverts.patch
 
 Patch21: linux-2.6-utrace.patch
 Patch22: linux-2.6-x86-tracehook.patch
 Patch23: linux-2.6.27-x86-tracehook-syscall-arg-order.patch
 
 Patch41: linux-2.6-sysrq-c.patch
-Patch44: linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
-
-Patch60: linux-2.6-sched-features-disable-hrtick.patch
-Patch61: linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
 
 Patch70: linux-2.6-x86-tune-generic.patch
 Patch75: linux-2.6-x86-debug-boot.patch
@@ -634,8 +630,6 @@
 Patch381: linux-2.6-pciehp-update.patch
 Patch382: linux-2.6-defaults-pciehp.patch
 
-Patch392: linux-2.6-acpi-clear-wake-status.patch
-Patch393: linux-2.6-acpi-ignore-reset_reg_sup.patch
 Patch394: linux-2.6-acpi-ignore-ae_not_found-error-of-ec-reg-method.patch
 
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
@@ -645,17 +639,13 @@
 Patch421: linux-2.6-squashfs.patch
 
 Patch430: linux-2.6-net-silence-noisy-printks.patch
-Patch440: linux-2.6-net-tcp-option-ordering.patch
 
 Patch450: linux-2.6-input-kill-stupid-messages.patch
-Patch451: linux-2.6-input-dell-keyboard-keyup.patch
 Patch452: linux-2.6.27-hwmon-applesmc-2.6.28.patch
 Patch460: linux-2.6-serial-460800.patch
 Patch510: linux-2.6-silence-noise.patch
 # hush pci bar allocation failures
 Patch520: linux-2.6.27-pci-hush-allocation-failures.patch
-# EC storms aren't anything you can fix, shut up already
-Patch530: linux-2.6.27-acpi-ec-drizzle.patch
 
 Patch570: linux-2.6-selinux-mprotect-checks.patch
 Patch580: linux-2.6-sparc-selinux-mprotect-checks.patch
@@ -663,7 +653,6 @@
 # libata
 Patch670: linux-2.6-ata-quirk.patch
 Patch672: linux-2.6-sata-eeepc-faster.patch
-Patch676: linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
 Patch678: linux-2.6-libata-sata_nv-disable-swncq.patch
 Patch679: linux-2.6-libata-avoid-overflow-with-large-disks.patch
 
@@ -695,8 +684,6 @@
 Patch2003: linux-2.6-e1000e-add-support-for-new-82574L-part.patch
 
 # r8169 fixes
-Patch2005: linux-2.6-r8169-fix-RxMissed-register-access.patch
-Patch2006: linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch
 Patch2007: linux-2.6-netdev-r8169-2.6.28.patch
 
 # atl2 network driver
@@ -710,16 +697,10 @@
 
 # make USB EHCI driver respect "nousb" parameter
 Patch2300: linux-2.6-usb-ehci-hcd-respect-nousb.patch
-# fix jmicron usb/sata bridge
-Patch2310: linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
 
 # get rid of imacfb and make efifb work everywhere it was used
 Patch2600: linux-2.6-merge-efifb-imacfb.patch
 
-# fix RTC
-Patch2800: linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
-Patch2810: linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
-
 # ext4 fun - new & improved, now with less dev!
 Patch2900: linux-2.6.27-ext4-stable-patch-queue.patch
 Patch2901: linux-2.6.27-fs-disable-fiemap.patch
@@ -1081,8 +1062,10 @@
 %if !%{nopatches}
 
 ApplyPatch linux-2.6-hotfixes.patch
-ApplyPatch linux-2.6.27.5-stable-queue.patch
-ApplyPatch linux-2.6.27.5-stable-queue-reverts.patch -R
+
+# -stable patch queue
+#ApplyPatch linux-2.6.27.5-stable-queue.patch
+#ApplyPatch linux-2.6.27.5-stable-queue-reverts.patch -R
 
 # revert patches from upstream that conflict or that we get via other means
 C=$(wc -l $RPM_SOURCE_DIR/linux-2.6-upstream-reverts.patch | awk '{print $1}')
@@ -1098,9 +1081,7 @@
 # enable sysrq-c on all kernels, not only kexec
 ApplyPatch linux-2.6-sysrq-c.patch
 
-# scheduler patches approved for -stable
-#ApplyPatch linux-2.6-sched-features-disable-hrtick.patch
-#ApplyPatch linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
+# scheduler patches
 
 # Architecture patches
 # x86(-64)
@@ -1109,7 +1090,6 @@
 # don't oops if there's no IRQ stack available
 ApplyPatch linux-2.6-x86-check-for-null-irq-context.patch
 # don't try to read memory beyond end-of-stack
-#ApplyPatch linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
 
 #
 # PowerPC
@@ -1153,12 +1133,8 @@
 # actually honor the nousb parameter
 ApplyPatch linux-2.6-usb-ehci-hcd-respect-nousb.patch
 # fix jmicron usb/sata bridge
-#ApplyPatch linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
 
 # ACPI
-# reboot / resume fixes from F10
-#ApplyPatch linux-2.6-acpi-clear-wake-status.patch
-#ApplyPatch linux-2.6-acpi-ignore-reset_reg_sup.patch
 # fix cpu detection (f10#435653)
 ApplyPatch linux-2.6-acpi-ignore-ae_not_found-error-of-ec-reg-method.patch
 
@@ -1213,14 +1189,10 @@
 # Networking
 # Disable easy to trigger printk's.
 ApplyPatch linux-2.6-net-silence-noisy-printks.patch
-# fix tcp option ordering broken in .27
-#ApplyPatch linux-2.6-net-tcp-option-ordering.patch
 
 # Misc fixes
 # The input layer spews crap no-one cares about.
 ApplyPatch linux-2.6-input-kill-stupid-messages.patch
-# dell can't make keyboards
-#ApplyPatch linux-2.6-input-dell-keyboard-keyup.patch
 # kill annoying applesmc debug messages
 ApplyPatch linux-2.6.27-hwmon-applesmc-2.6.28.patch
 
@@ -1230,8 +1202,6 @@
 ApplyPatch linux-2.6-silence-noise.patch
 # hush pci bar allocation failures
 ApplyPatch linux-2.6.27-pci-hush-allocation-failures.patch
-# EC storms aren't anything you can fix, shut up already
-#ApplyPatch linux-2.6.27-acpi-ec-drizzle.patch
 
 # Fix the SELinux mprotect checks on executable mappings
 ApplyPatch linux-2.6-selinux-mprotect-checks.patch
@@ -1243,8 +1213,6 @@
 # libata
 # ia64 ata quirk
 ApplyPatch linux-2.6-ata-quirk.patch
-# fix it821x
-#ApplyPatch linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
 # Make Eee disk faster.
 ApplyPatch linux-2.6-sata-eeepc-faster.patch
 # disable swncq on sata_nv
@@ -1284,10 +1252,7 @@
 ApplyPatch linux-2.6-e1000e-add-support-for-82567LM-3-and-82567LF-3-ICH10D-parts.patch
 ApplyPatch linux-2.6-e1000e-add-support-for-new-82574L-part.patch
 
-#ApplyPatch linux-2.6-r8169-fix-RxMissed-register-access.patch
-#ApplyPatch linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch
 ApplyPatch linux-2.6-netdev-r8169-2.6.28.patch
-
 ApplyPatch linux-2.6-netdev-atl2.patch
 
 ApplyPatch linux-2.6-net-tulip-interrupt.patch
@@ -1319,10 +1284,6 @@
 # get rid of imacfb and make efifb work everywhere it was used
 ApplyPatch linux-2.6-merge-efifb-imacfb.patch
 
-# fix RTC
-#ApplyPatch linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
-#ApplyPatch linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
-
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -1926,6 +1887,22 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Fri Nov 07 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.5-28
+- Linux 2.6.27.5
+  Dropped Patches:
+    linux-2.6-sched-features-disable-hrtick.patch
+    linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards
+    linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch
+    linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch
+    linux-2.6-acpi-clear-wake-status.patch
+    linux-2.6-acpi-ignore-reset_reg_sup.patch
+    linux-2.6-net-tcp-option-ordering.patch
+    linux-2.6-input-dell-keyboard-keyup.patch
+    linux-2.6.27-acpi-ec-drizzle.patch
+    linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch
+    linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch
+    linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch
+
 * Fri Nov 07 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.27.4-27
 - Make UTF-8 the default for FAT/VFTA filesystems again.
 

linux-2.6-upstream-reverts.patch:

Index: linux-2.6-upstream-reverts.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/linux-2.6-upstream-reverts.patch,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- linux-2.6-upstream-reverts.patch	30 Oct 2008 04:41:12 -0000	1.13
+++ linux-2.6-upstream-reverts.patch	7 Nov 2008 22:20:15 -0000	1.14
@@ -281,3 +281,325 @@
  			/* corrupt size?  Maybe no more blocks to read */
  			if (filp->f_pos > inode->i_blocks << 9)
  				break;
+Revert these patches from the stable queue:
+firewire-fix-ioctl-return-code.patch
+firewire-fix-setting-tag-and-sy-in-iso-transmission.patch
+firewire-fix-struct-fw_node-memory-leak.patch
+firewire-fw-sbp2-delay-first-login-to-avoid-retries.patch
+firewire-fw-sbp2-fix-races.patch
+firewire-survive-more-than-256-bus-resets.patch
+
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:55:39 2008
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Mon, 27 Oct 2008 23:26:35 +0100 (CET)
+Subject: firewire: fix ioctl() return code
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.509dbd5216c80cfd at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+commit 99692f71ee04c6f249d0bf6a581359f32f409a38 upstream
+
+Reported by Jay Fenlason:  ioctl() did not return as intended
+  - the size of data read into ioctl_send_request,
+  - the number of datagrams enqueued by ioctl_queue_iso.
+
+
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-cdev.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/firewire/fw-cdev.c
++++ b/drivers/firewire/fw-cdev.c
+@@ -913,7 +913,7 @@ dispatch_ioctl(struct client *client, un
+ 			return -EFAULT;
+ 	}
+ 
+-	return 0;
++	return retval;
+ }
+ 
+ static long
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:54:50 2008
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Mon, 27 Oct 2008 23:26:00 +0100 (CET)
+Subject: firewire: fix setting tag and sy in iso transmission
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.c6c9e197bd5d3af2 at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+commit 7a1003449c693f0d57443c8786bbf19717921ae0 upstream
+
+Reported by Jay Fenlason:
+The iso packet control accessors in fw-cdev.c had bogus masks.
+
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-cdev.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/firewire/fw-cdev.c
++++ b/drivers/firewire/fw-cdev.c
+@@ -720,8 +720,8 @@ static int ioctl_create_iso_context(stru
+ #define GET_PAYLOAD_LENGTH(v)	((v) & 0xffff)
+ #define GET_INTERRUPT(v)	(((v) >> 16) & 0x01)
+ #define GET_SKIP(v)		(((v) >> 17) & 0x01)
+-#define GET_TAG(v)		(((v) >> 18) & 0x02)
+-#define GET_SY(v)		(((v) >> 20) & 0x04)
++#define GET_TAG(v)		(((v) >> 18) & 0x03)
++#define GET_SY(v)		(((v) >> 20) & 0x0f)
+ #define GET_HEADER_LENGTH(v)	(((v) >> 24) & 0xff)
+ 
+ static int ioctl_queue_iso(struct client *client, void *buffer)
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:57:03 2008
+From: Jay Fenlason <fenlason at redhat.com>
+Date: Mon, 27 Oct 2008 23:28:14 +0100 (CET)
+Subject: firewire: fix struct fw_node memory leak
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.e499a05eaa0ec529 at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Jay Fenlason <fenlason at redhat.com>
+
+commit 77e557191701afa55ae7320d42ad6458a2ad292e upstream
+
+With the bus_resets patch applied, it is easy to see this memory leak
+by repeatedly resetting the firewire bus while running slabtop in
+another window.  Just watch kmalloc-32 grow and grow...
+
+Signed-off-by: Jay Fenlason <fenlason at redhat.com>
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+---
+ drivers/firewire/fw-topology.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/drivers/firewire/fw-topology.c
++++ b/drivers/firewire/fw-topology.c
+@@ -413,7 +413,7 @@ static void
+ update_tree(struct fw_card *card, struct fw_node *root)
+ {
+ 	struct list_head list0, list1;
+-	struct fw_node *node0, *node1;
++	struct fw_node *node0, *node1, *next1;
+ 	int i, event;
+ 
+ 	INIT_LIST_HEAD(&list0);
+@@ -485,7 +485,9 @@ update_tree(struct fw_card *card, struct
+ 		}
+ 
+ 		node0 = fw_node(node0->link.next);
+-		node1 = fw_node(node1->link.next);
++		next1 = fw_node(node1->link.next);
++		fw_node_put(node1);
++		node1 = next1;
+ 	}
+ }
+ 
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:57:36 2008
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Date: Mon, 27 Oct 2008 23:29:00 +0100 (CET)
+Subject: firewire: fw-sbp2: delay first login to avoid retries
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.9bc21c3b6a97bebe at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Stefan Richter <stefanr at s5r6.in-berlin.de>
+
+commit 0dcfeb7e3c8695c5aa3677dda8efb9bef2e7e64d upstream
+
+This optimizes firewire-sbp2's device probe for the case that the local
+node and the SBP-2 node were discovered at the same time.  In this case,
+fw-core's bus management work and fw-sbp2's login and SCSI probe work
+are scheduled in parallel (in the globally shared workqueue and in
+fw-sbp2's workqueue, respectively).  The bus reset from fw-core may then
+disturb and extremely delay the login and SCSI probe because the latter
+fails with several command timeouts and retries and has to be retried
+from scratch.
+
+We avoid this particular situation of sbp2_login() and fw_card_bm_work()
+running in parallel by delaying the first sbp2_login() a little bit.
+
+This is meant to be a short-term fix for
+https://bugzilla.redhat.com/show_bug.cgi?id=466679.  In the long run,
+the SCSI probe, i.e. fw-sbp2's call of __scsi_add_device(), should be
+parallelized with sbp2_reconnect().
+
+Problem reported and fix tested and confirmed by Alex Kanavin.
+
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-sbp2.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/firewire/fw-sbp2.c
++++ b/drivers/firewire/fw-sbp2.c
+@@ -1158,7 +1158,7 @@ static int sbp2_probe(struct device *dev
+ 
+ 	/* Do the login in a workqueue so we can easily reschedule retries. */
+ 	list_for_each_entry(lu, &tgt->lu_list, link)
+-		sbp2_queue_work(lu, 0);
++		sbp2_queue_work(lu, DIV_ROUND_UP(HZ, 5));
+ 	return 0;
+ 
+  fail_tgt_put:
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:58:11 2008
+From: Jay Fenlason <fenlason at redhat.com>
+Date: Mon, 27 Oct 2008 23:29:32 +0100 (CET)
+Subject: firewire: fw-sbp2: fix races
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.84265bc39337ceb3 at s5r6.in-berlin.de>
+
+From: Jay Fenlason <fenlason at redhat.com>
+
+Same as commit cd1f70fdb4823c97328a1f151f328eb36fafd579 upstream
+
+1: There is a small race between queue_delayed_work() and its
+   corresponding kref_get().  Do the kref_get first, and _put it again
+   if the queue_delayed_work() failed, so there is no chance of the
+   kref going to zero while the work is scheduled.
+2: An SBP2_LOGOUT_REQUEST could be sent out with a login_id full of
+   garbage.  Initialize it to an invalid value so we can tell if we
+   ever got a valid login_id.
+3: The node ID and generation may have changed but the new values may
+   not yet have been recorded in lu and tgt when the final logout is
+   attempted.  Use the latest values from the device in
+   sbp2_release_target().
+
+Signed-off-by: Jay Fenlason <fenlason at redhat.com>
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-sbp2.c |   36 ++++++++++++++++++++++++++----------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+--- a/drivers/firewire/fw-sbp2.c
++++ b/drivers/firewire/fw-sbp2.c
+@@ -172,6 +172,9 @@ struct sbp2_target {
+ 	int blocked;	/* ditto */
+ };
+ 
++/* Impossible login_id, to detect logout attempt before successful login */
++#define INVALID_LOGIN_ID 0x10000
++
+ /*
+  * Per section 7.4.8 of the SBP-2 spec, a mgt_ORB_timeout value can be
+  * provided in the config rom. Most devices do provide a value, which
+@@ -791,9 +794,20 @@ static void sbp2_release_target(struct k
+ 			scsi_remove_device(sdev);
+ 			scsi_device_put(sdev);
+ 		}
+-		sbp2_send_management_orb(lu, tgt->node_id, lu->generation,
+-				SBP2_LOGOUT_REQUEST, lu->login_id, NULL);
+-
++		if (lu->login_id != INVALID_LOGIN_ID) {
++			int generation, node_id;
++			/*
++			 * tgt->node_id may be obsolete here if we failed
++			 * during initial login or after a bus reset where
++			 * the topology changed.
++			 */
++			generation = device->generation;
++			smp_rmb(); /* node_id vs. generation */
++			node_id    = device->node_id;
++			sbp2_send_management_orb(lu, node_id, generation,
++						 SBP2_LOGOUT_REQUEST,
++						 lu->login_id, NULL);
++		}
+ 		fw_core_remove_address_handler(&lu->address_handler);
+ 		list_del(&lu->link);
+ 		kfree(lu);
+@@ -808,19 +822,20 @@ static void sbp2_release_target(struct k
+ 
+ static struct workqueue_struct *sbp2_wq;
+ 
++static void sbp2_target_put(struct sbp2_target *tgt)
++{
++	kref_put(&tgt->kref, sbp2_release_target);
++}
++
+ /*
+  * Always get the target's kref when scheduling work on one its units.
+  * Each workqueue job is responsible to call sbp2_target_put() upon return.
+  */
+ static void sbp2_queue_work(struct sbp2_logical_unit *lu, unsigned long delay)
+ {
+-	if (queue_delayed_work(sbp2_wq, &lu->work, delay))
+-		kref_get(&lu->tgt->kref);
+-}
+-
+-static void sbp2_target_put(struct sbp2_target *tgt)
+-{
+-	kref_put(&tgt->kref, sbp2_release_target);
++	kref_get(&lu->tgt->kref);
++	if (!queue_delayed_work(sbp2_wq, &lu->work, delay))
++		sbp2_target_put(lu->tgt);
+ }
+ 
+ static void
+@@ -993,6 +1008,7 @@ static int sbp2_add_logical_unit(struct 
+ 
+ 	lu->tgt      = tgt;
+ 	lu->lun      = lun_entry & 0xffff;
++	lu->login_id = INVALID_LOGIN_ID;
+ 	lu->retries  = 0;
+ 	lu->has_sdev = false;
+ 	lu->blocked  = false;
+From stefanr at s5r6.in-berlin.de  Tue Nov  4 13:56:10 2008
+From: Jay Fenlason <fenlason at redhat.com>
+Date: Mon, 27 Oct 2008 23:27:37 +0100 (CET)
+Subject: firewire: Survive more than 256 bus resets
+To: stable at kernel.org
+Cc: linux1394-devel at lists.sourceforge.net, linux-kernel at vger.kernel.org
+Message-ID: <tkrat.6faab57f3da8f9b9 at s5r6.in-berlin.de>
+Content-Disposition: INLINE
+
+From: Jay Fenlason <fenlason at redhat.com>
+
+Same as commit 4f9740d4f5a17fa6a1b097fa3ccdfb7246660307 upstream
+
+The "color" is used during the topology building after a bus reset,
+hovever in "struct fw_node"s it is stored in a u8, but in struct fw_card
+it is stored in an int.  When the value wraps in one struct, but not
+the other, disaster strikes.
+
+Fixes http://bugzilla.kernel.org/show_bug.cgi?id=10922 -
+machine locks up solid if a series of bus resets occurs.
+
+
+Signed-off-by: Jay Fenlason <fenlason at redhat.com>
+Signed-off-by: Stefan Richter <stefanr at s5r6.in-berlin.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh at suse.de>
+
+---
+ drivers/firewire/fw-transaction.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/firewire/fw-transaction.h
++++ b/drivers/firewire/fw-transaction.h
+@@ -248,7 +248,7 @@ struct fw_card {
+ 	struct fw_node *local_node;
+ 	struct fw_node *root_node;
+ 	struct fw_node *irm_node;
+-	int color;
++	u8 color; /* must be u8 to match the definition in struct fw_node */
+ 	int gap_count;
+ 	bool beta_repeaters_present;
+ 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/sources,v
retrieving revision 1.792
retrieving revision 1.793
diff -u -r1.792 -r1.793
--- sources	30 Oct 2008 04:41:21 -0000	1.792
+++ sources	7 Nov 2008 22:20:15 -0000	1.793
@@ -1,2 +1,2 @@
 b3e78977aa79d3754cb7f8143d7ddabd  linux-2.6.27.tar.bz2
-fa7cb6cf1ee5e796e89905806ffc6f01  patch-2.6.27.4.bz2
+5ae2b4af08b35b9ecc3653c8fc6c1905  patch-2.6.27.5.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/upstream,v
retrieving revision 1.711
retrieving revision 1.712
diff -u -r1.711 -r1.712
--- upstream	30 Oct 2008 04:41:21 -0000	1.711
+++ upstream	7 Nov 2008 22:20:16 -0000	1.712
@@ -1,2 +1,2 @@
 linux-2.6.27.tar.bz2
-patch-2.6.27.4.bz2
+patch-2.6.27.5.bz2


--- linux-2.6-input-dell-keyboard-keyup.patch DELETED ---


--- linux-2.6-libata-pata_it821x-fix-lba48-on-raid-volumes.patch DELETED ---


--- linux-2.6-net-tcp-option-ordering.patch DELETED ---


--- linux-2.6-r8169-fix-RxMissed-register-access.patch DELETED ---


--- linux-2.6-r8169-wake-up-the-phy-of-the-8168.patch DELETED ---


--- linux-2.6-rtc-cmos-look-for-pnp-rtc-first.patch DELETED ---


--- linux-2.6-sched-features-disable-hrtick.patch DELETED ---


--- linux-2.6-sched_clock-prevent-scd-clock-from-moving-backwards DELETED ---


--- linux-2.6-usb-storage-unusual-devs-jmicron-ata-bridge.patch DELETED ---


--- linux-2.6-x86-avoid-dereferencing-beyond-stack-THREAD_SIZE.patch DELETED ---


--- linux-2.6-x86-register-platform-rtc-if-pnp-doesnt-describe-it.patch DELETED ---


--- linux-2.6.27-acpi-ec-drizzle.patch DELETED ---


--- linux-2.6.27.5-stable-queue-reverts.patch DELETED ---


--- linux-2.6.27.5-stable-queue.patch DELETED ---


--- patch-2.6.27.4.bz2.sign DELETED ---




More information about the fedora-extras-commits mailing list