rpms/kernel/devel linux-2.6-scsi-mpt-vmware-fix.patch, 1.2, 1.3 kernel.spec, 1.1025, 1.1026

Dave Jones davej at fedoraproject.org
Wed Oct 8 17:47:29 UTC 2008


Author: davej

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30859

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-scsi-mpt-vmware-fix.patch 
Log Message:
Work around VMWares busted mptfusion emulation again. (#466071)

linux-2.6-scsi-mpt-vmware-fix.patch:

Index: linux-2.6-scsi-mpt-vmware-fix.patch
===================================================================
RCS file: linux-2.6-scsi-mpt-vmware-fix.patch
diff -N linux-2.6-scsi-mpt-vmware-fix.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ linux-2.6-scsi-mpt-vmware-fix.patch	8 Oct 2008 17:47:29 -0000	1.3
@@ -0,0 +1,43 @@
+The attached patch is a workaround for a bug in VMWare's emulated LSI
+Fusion SCSI HBA.  The emulated firmware returns zero for the maximum
+number of attached devices; the real firmware returns a positive
+number.  Therefore, the kernel that boots and works fine on bare metal
+will fail on VMWare because this firmware value is handed to the SCSI
+midlayer, which then skips the entire bus scan.
+
+F7 bz 241935
+
+The patch below was submitted by Eric Moore of LSI to the linux-scsi
+mailing list:
+
+http://marc.info/?l=linux-scsi&m=117432237404247
+
+then immediately rejected by Christoph Hellwig, who prefers that
+VMWare fix their emulation instead.
+
+diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c
+index eddb933..21fadf2 100644
+--- a/drivers/message/fusion/mptbase.c
++++ b/drivers/message/fusion/mptbase.c
+@@ -2571,8 +2571,19 @@ GetPortFacts(MPT_ADAPTER *ioc, int portnum, int sleepFlag)
+ 	pfacts->MaxPersistentIDs = le16_to_cpu(pfacts->MaxPersistentIDs);
+ 	pfacts->MaxLanBuckets = le16_to_cpu(pfacts->MaxLanBuckets);
+ 
+-	max_id = (ioc->bus_type == SAS) ? pfacts->PortSCSIID :
+-	    pfacts->MaxDevices;
++	switch (ioc->bus_type) {
++	case SAS:
++		max_id = pfacts->PortSCSIID;
++		break;
++	case FC:
++		max_id = pfacts->MaxDevices;
++		break;
++	case SPI:
++	default:
++		max_id = MPT_MAX_SCSI_DEVICES;
++		break;
++	}
++
+ 	ioc->devices_per_bus = (max_id > 255) ? 256 : max_id;
+ 	ioc->number_of_buses = (ioc->devices_per_bus < 256) ? 1 : max_id/256;
+ 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1025
retrieving revision 1.1026
diff -u -r1.1025 -r1.1026
--- kernel.spec	8 Oct 2008 07:04:28 -0000	1.1025
+++ kernel.spec	8 Oct 2008 17:47:29 -0000	1.1026
@@ -609,6 +609,7 @@
 Patch391: linux-2.6-acpi-video-dos.patch
 Patch392: linux-2.6-acpi-clear-wake-status.patch
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
+Patch410: linux-2.6-scsi-mpt-vmware-fix.patch
 Patch420: linux-2.6-squashfs.patch
 Patch430: linux-2.6-net-silence-noisy-printks.patch
 Patch450: linux-2.6-input-kill-stupid-messages.patch
@@ -1117,6 +1118,8 @@
 #
 # fix cpqarray pci enable
 ApplyPatch linux-2.6-scsi-cpqarray-set-master.patch
+# Work around VMWares busted mptfusion emulation again.
+ApplyPatch linux-2.6-scsi-mpt-vmware-fix.patch
 
 # ALSA
 
@@ -1792,6 +1795,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Wed Oct 08 2008 Dave Jones <davej at redhat.com>
+- Work around VMWares busted mptfusion emulation again. (#466071)
+
 * Wed Oct 08 2008 Dave Airlie <airlied at redhat.com>
 - radeon - hopefully fix suspend/resume - reenable HW migration
 




More information about the scm-commits mailing list