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