rpms/kernel/F-7 linux-2.6-scsi-initio-fix-hang-on-load.patch, NONE, 1.1 kernel-2.6.spec, 1.3422, 1.3423

Chuck Ebbert (cebbert) fedora-extras-commits at redhat.com
Sat Jan 26 00:08:14 UTC 2008


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv21058

Modified Files:
	kernel-2.6.spec 
Added Files:
	linux-2.6-scsi-initio-fix-hang-on-load.patch 
Log Message:
* Fri Jan 25 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.23.14-72
- Fix the initio driver broken in 2.6.23. (F8#390531)


linux-2.6-scsi-initio-fix-hang-on-load.patch:

--- NEW FILE linux-2.6-scsi-initio-fix-hang-on-load.patch ---
Rollup of these three 2.6.24 patches:

[SCSI] initio: Fix merge fallout
[SCSI] initio: fix conflict when loading driver
[SCSI] initio: fix module hangs on loading


BZ #390531

Index: linux-2.6.23.noarch/drivers/scsi/initio.c
===================================================================
--- linux-2.6.23.noarch.orig/drivers/scsi/initio.c	2008-01-25 18:54:19.000000000 -0500
+++ linux-2.6.23.noarch/drivers/scsi/initio.c	2008-01-25 18:54:35.000000000 -0500
@@ -665,7 +665,7 @@ static void initio_init(struct initio_ho
 		host->max_tags[i] = 0xFF;
 	}			/* for                          */
 	printk("i91u: PCI Base=0x%04X, IRQ=%d, BIOS=0x%04X0, SCSI ID=%d\n",
-	       host->addr, host->irq,
+	       host->addr, host->pci_dev->irq,
 	       host->bios_addr, host->scsi_id);
 	/* Reset SCSI Bus */
 	if (host->config & HCC_SCSI_RESET) {
@@ -823,7 +823,7 @@ static void initio_append_busy_scb(struc
 {
 
 #if DEBUG_QUEUE
-	printk("append busy SCB %o; ", scbp);
+	printk("append busy SCB %p; ", scbp);
 #endif
 	if (scbp->tagmsg)
 		host->act_tags[scbp->target]++;
@@ -2609,6 +2609,7 @@ static void initio_build_scb(struct init
 		cblk->bufptr = cpu_to_le32((u32)dma_addr);
 		cmnd->SCp.dma_handle = dma_addr;
 
+		cblk->sglen = nseg;
 
 		cblk->flags |= SCF_SG;	/* Turn on SG list flag       */
 		total_len = 0;
@@ -2866,6 +2867,8 @@ static int initio_probe_one(struct pci_d
 	}
 	host = (struct initio_host *)shost->hostdata;
 	memset(host, 0, sizeof(struct initio_host));
+	host->addr = pci_resource_start(pdev, 0);
+	host->bios_addr = bios_seg;
 
 	if (!request_region(host->addr, 256, "i91u")) {
 		printk(KERN_WARNING "initio: I/O port range 0x%x is busy.\n", host->addr);
@@ -2890,6 +2893,10 @@ static int initio_probe_one(struct pci_d
 		goto out_release_region;
 	}
 
+	host->pci_dev = pdev;
+
+	host->semaph = 1;
+	spin_lock_init(&host->semaph_lock);
 	host->num_scbs = num_scb;
 	host->scb = scb;
 	host->next_pending = scb;
@@ -2904,8 +2911,9 @@ static int initio_probe_one(struct pci_d
 	host->scb_end = tmp;
 	host->first_avail = scb;
 	host->last_avail = prev;
+	spin_lock_init(&host->avail_lock);
 
-	initio_init(host, phys_to_virt(bios_seg << 4));
+	initio_init(host, phys_to_virt(((u32)bios_seg << 4)));
 
 	host->jsstatus0 = 0;
 
@@ -2927,7 +2935,6 @@ static int initio_probe_one(struct pci_d
 	}
 
 	pci_set_drvdata(pdev, shost);
-	host->pci_dev = pdev;
 
 	error = scsi_add_host(shost, &pdev->dev);
 	if (error)


Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3422
retrieving revision 1.3423
diff -u -r1.3422 -r1.3423
--- kernel-2.6.spec	25 Jan 2008 23:45:37 -0000	1.3422
+++ kernel-2.6.spec	26 Jan 2008 00:07:23 -0000	1.3423
@@ -557,6 +557,7 @@
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
 Patch401: linux-2.6-scsi-async-double-add.patch
 Patch404: linux-2.6-scsi-mpt-vmware-fix.patch
+Patch405: linux-2.6-scsi-initio-fix-hang-on-load.patch
 
 Patch420: linux-2.6-squashfs.patch
 Patch422: linux-2.6-gfs-locking-exports.patch
@@ -1217,6 +1218,8 @@
 ApplyPatch linux-2.6-scsi-async-double-add.patch
 # fix vmware's broken emulation of SCSI controller
 ApplyPatch linux-2.6-scsi-mpt-vmware-fix.patch
+# fin initio driver
+ApplyPatch linux-2.6-scsi-initio-fix-hang-on-load.patch
 
 # Filesystem patches.
 # Squashfs
@@ -2321,6 +2324,9 @@
 %endif
 
 %changelog
+* Fri Jan 25 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.23.14-72
+- Fix the initio driver broken in 2.6.23. (F8#390531)
+
 * Fri Jan 25 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.23.14-71
 - Drop obsolete ptrace patch.
 




More information about the fedora-extras-commits mailing list